DataInputStream ໃນ Java



DataInputStream ເອກະສານ Java

DataInputStream ໃນ Java

Java DataInputStream ແມ່ນຊັ້ນທີ່ພວກເຮົາໃຊ້ເພື່ອອ່ານຄ່າປະເພດຂໍ້ມູນເບື້ອງຕົ້ນ. ພວກເຮົາສາມາດ ນຳ ໃຊ້ກະແສນີ້ພ້ອມກັບກະແສການປ້ອນຂໍ້ມູນອື່ນໆເຊັ່ນ FileInputStream ເພື່ອອ່ານຂໍ້ມູນ. ເນື່ອງຈາກມັນອ່ານຂໍ້ມູນເປັນຕົວເລກແທນໄບ, ພວກເຮົາເອີ້ນມັນວ່າ DataInputStream. ມັນມີພຽງແຕ່ດຽວ ຜູ້ກໍ່ສ້າງ ທີ່ຍອມຮັບ InputStream ເປັນພາລາມິເຕີ.

DataInputStream di = new DataInputStream(InputStream in);

ວິທີການຂອງ Java DataInputStream

ຂ້າງລຸ່ມນີ້ແມ່ນວິທີການທີ່ຫ້ອງຮຽນ DataInputStream ສະ ໜັບ ສະ ໜູນ ການຂຽນແລະການເຮັດວຽກອື່ນໆ.

ວິທີການລາຍລະອຽດ
ມີ int ()ສົ່ງຄືນ ຈຳ ນວນປະມານຂອງໄບທີ່ເຫຼືອເພື່ອອ່ານ
ໂມຄະໃກ້ ()ປິດກະແສການປ້ອນຂໍ້ມູນ
ເຄື່ອງ ໝາຍ ເປົ່າ (int readLimit)ໝາຍ ຕຳ ແໜ່ງ ທີ່ຢູ່ໃນກະແສ ນຳ ເຂົ້າ
ເຄື່ອງ ໝາຍ ບູຮານສະ ໜັບ ສະ ໜູນ ()ກວດເບິ່ງວ່າກະແສ ນຳ ເຂົ້າສະ ໜັບ ສະ ໜູນ ເຄື່ອງ ໝາຍ () ແລະວິທີການຕັ້ງຄ່າ ໃໝ່ ()
int ອ່ານ ()ອ່ານຂໍ້ມູນໄບຕ໌ຕໍ່ໄປໃນກະແສປ້ອນຂໍ້ມູນ
int ອ່ານ (ໄບຕ໌ [] ຂ)ອ່ານແຖວຂອງຂໍ້ມູນຈາກກະແສການປ້ອນຂໍ້ມູນ
int ອ່ານ (byte [] b, int off, int len)ອ່ານຂໍ້ມູນ len bytes ຈາກກະແສການປ້ອນຂໍ້ມູນເລີ່ມຕົ້ນຈາກ ຕຳ ແໜ່ງ ທີ່ຊົດເຊີຍ
boolean ອ່ານBoolean ()ອ່ານຄ່າບູທູດຈາກກະແສ
byte readByte ()ອ່ານຂໍ້ມູນໄບຕ໌ຕໍ່ໄປຈາກກະແສການປ້ອນຂໍ້ມູນ
char readChar ()ອ່ານຂໍ້ມູນ char ຕໍ່ໄປຈາກກະແສ ນຳ ເຂົ້າ
ອ່ານສອງເທົ່າ ()ອ່ານຂໍ້ມູນຄູ່ຕໍ່ໄປຈາກກະແສການປ້ອນຂໍ້ມູນ
floF readFloat ()ອ່ານຂໍ້ມູນເລື່ອນຕໍ່ໄປຈາກກະແສ ນຳ ເຂົ້າ
void readFully (byte [] ຂ)ອ່ານທັງ ໝົດ ໄບຕ໌ຂອງຂໍ້ມູນຈາກກະແສການປ້ອນຂໍ້ມູນແລະເກັບຮັກສາໃນແຖວປ້ອງກັນຂ
void readFully (byte [] b, int ປິດ, int len)ອ່ານຂໍ້ມູນ len bytes ຈາກກະແສວັດສະດຸປ້ອນຂໍ້ມູນເລີ່ມຕົ້ນຈາກການຊົດເຊີຍເຂົ້າໄປໃນແຖວ byte buffer
int ອ່ານ ()ອ່ານຂໍ້ມູນເລກເຕັມຕໍ່ໄປຈາກກະແສ ນຳ ເຂົ້າ
ຊ່ອຍແນ່ readLine ()ອ່ານສາຍຂອງສາຍຈາກກະແສເຂົ້າ
ຍາວອ່ານ ()ອ່ານຂໍ້ມູນທີ່ຍາວນານຈາກກະແສ ນຳ ເຂົ້າ
byte [] ອ່ານNBytes (int len)ອ່ານຄວາມຍາວສະເພາະຂອງໄບຕ໌ຈາກກະແສການປ້ອນຂໍ້ມູນແລະເກັບຮັກສາໄວ້ໃນ buffer
int readNBytes (byte [] b, int ປິດ, int len)ອ່ານ ຈຳ ນວນໄບຕ໌ຈາກກະແສການປ້ອນຂໍ້ມູນຈາກ ຕຳ ແໜ່ງ ທີ່ຊົດເຊີຍແລະເກັບຮັກສາໄວ້ໃນແຖວປ້ອງກັນຂ
ສັ້ນອ່ານShort ()ອ່ານຂໍ້ມູນສັ້ນຈາກກະແສ ນຳ ເຂົ້າ
int readUnsignedByte ()ອ່ານຂໍ້ມູນໄບຕ໌ທີ່ບໍ່ໄດ້ເຊັນໃນຄັ້ງຕໍ່ໄປຈາກກະແສ ນຳ ເຂົ້າ
int readUnsignedShort ()ອ່ານຂໍ້ມູນສັ້ນທີ່ບໍ່ໄດ້ເຊັນຊື່ຕໍ່ໄປຈາກກະແສ ນຳ ເຂົ້າ
ຊ່ອຍແນ່ readUFT ()ອ່ານແບບຟອມແບບ unicode ຂອງກະແສຂໍ້ມູນເຂົ້າ
ຂ້າມຍາວ (n ຍາວ)ຂ້າມແລະຍົກເລີກ ຈຳ ນວນໄບຕ໌ເພື່ອອ່ານຈາກກະແສ ນຳ ເຂົ້າ
int ຂ້າມບິດ (int n)ຂ້າມແລະຍົກເລີກ ຈຳ ນວນໄບຕ໌ສະເພາະໃນໄລຍະການອ່ານ

ຍົກຕົວຢ່າງ

ຕົວຢ່າງຂ້າງລຸ່ມນີ້ໃຊ້ວິທີການອ່ານ () ຂອງຫ້ອງຮຽນ DataInputStream ເພື່ອອ່ານຂໍ້ມູນຈາກເອກະສານປ້ອນຂໍ້ມູນ. ພວກເຮົາສາມາດກວດເບິ່ງ ຈຳ ນວນໄບຕ໌ທີ່ມີຢູ່ເພື່ອອ່ານໂດຍໃຊ້ວິທີການທີ່ມີ ().

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.DataInputStream;

public class DataInputStreamDemo {

  public static void main(String[] args) throws IOException {
    FileInputStream fi = new FileInputStream("InputFile.txt");
    DataInputStream di = new DataInputStream(fi);
    
    System.out.println("Available number of bytes to read: " + di.available());
    int a;
    while((a=di.read()) != -1)
      System.out.print((char)a);

  }

}
Available number of bytes to read: 37
This is an example of DataInputStream

ຕົວຢ່າງ: DatatInputStream ວິທີການອ່ານທີ່ແຕກຕ່າງກັນ

ຕົວຢ່າງຂ້າງລຸ່ມນີ້ສະແດງໃຫ້ເຫັນວິທີການອ່ານຕ່າງໆເພື່ອອ່ານຂໍ້ມູນຈາກແຟ້ມໂດຍໃຊ້ຫ້ອງຮຽນ DataInputStream.

ວິທີການ readUFT () ແມ່ນ ສຳ ລັບການອ່ານຂໍ້ມູນຮູບແບບ Unicode, readInt () method ສຳ ລັບຄ່າ integer, readChar () ສຳ ລັບຂໍ້ມູນຕົວ ໜັງ ສື, readBoolean () ສຳ ລັບຄ່າ boolean, readDouble () ສຳ ລັບຂໍ້ມູນຄູ່, readFloat () ສຳ ລັບຄ່າ float ແລະ readLong () ສຳ ລັບຄຸນຄ່າຍາວ.

ມີວິທີການຂຽນທີ່ສອດຄ້ອງກັນໃນຫ້ອງຮຽນ DataOutputStream ເພື່ອຂຽນຄຸນຄ່າເຫລົ່ານີ້ເຊິ່ງພວກເຮົາຈະເຫັນໃນລາຍລະອຽດໃນບົດແນະ ນຳ ຕໍ່ໄປ.

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.DataInputStream;
import java.io.DataOutputStream;

public class DataInputStreamDemo {

  public static void main(String[] args) throws IOException {
    FileInputStream fi = new FileInputStream("OutputFile.txt");
    DataInputStream di = new DataInputStream(fi);
    
    FileOutputStream fo = new FileOutputStream("OutputFile.txt");
    DataOutputStream dos = new DataOutputStream(fo);
    
    dos.writeUTF("DataInputStream");
    dos.writeInt(25);
    dos.writeChar('d');
    dos.writeBoolean(false);
    dos.writeDouble(233.34);
    dos.writeFloat(555.55f);
    dos.writeLong(8888888);
    
    
    System.out.println("Available number of bytes to read: " + di.available());

    System.out.println("Read UFT: " + di.readUTF());
    System.out.println("Read int: " + di.readInt());
    System.out.println("Read char: " + di.readChar());
    System.out.println("Read boolean: " + di.readBoolean());
    System.out.println("Read double: " + di.readDouble());
    System.out.println("Read float: " + di.readFloat());
    System.out.println("Read Long: " + di.readLong());
    
    
    di.close();
    fi.close();
    dos.close();
    fo.close();
  }

}
Available number of bytes to read: 44
Read UFT: DataInputStream
Read int: 25
Read char: d
Read boolean: false
Read double: 233.34
Read float: 555.55
Read Long: 8888888

ຕົວຢ່າງ: ອ່ານຄວາມຍາວສະເພາະຂອງຂໍ້ມູນໂດຍໃຊ້ DataInputStream

ພວກເຮົາຍັງສາມາດອ່ານຄວາມຍາວຂອງຂໍ້ມູນສະເພາະໂດຍໃຊ້ຫ້ອງຮຽນ DataInputStream ໃນ Java. ຕົວຢ່າງຂ້າງລຸ່ມນີ້ສະແດງວິທີການອ່ານຂໍ້ຄວາມທີ່ມີຄວາມຍາວ 8 ຈາກເອກະສານປ້ອນຂໍ້ມູນ. ພວກເຮົາ ກຳ ລັງຈັດສັນພຽງແຕ່ 12 ໄບຕ໌ແລະເພາະສະນັ້ນຍັງເຫຼືອ 4 ໄບຕ໌ທີ່ເຕັມໄປດ້ວຍ *.

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.DataInputStream;

public class DataInputStreamDemo {

  public static void main(String[] args) throws IOException {
    FileInputStream fi = new FileInputStream("InputFile.txt");
    DataInputStream di = new DataInputStream(fi);
    byte[] b = new byte[12];
    int a = di.read(b, 0, 8);
    
    for(byte by : b) {
      char ch = (char)by;
      if(by == 0)
        ch = '*';
      System.out.print(ch);
    }
    
    di.close();
    fi.close();

  }

}
This is ****

ຕົວຢ່າງ: DataInputStream skip () method

ຕົວຢ່າງຂ້າງລຸ່ມນີ້ສະແດງໃຫ້ເຫັນວິທີການໃຊ້ວິທີການຂ້າມ () ທີ່ຂ້າມຫຼືຍົກເລີກລັກສະນະສະເພາະໃນລະຫວ່າງການປະຕິບັດການອ່ານ. ໃນນີ້, ພວກເຮົາ ກຳ ລັງຍົກເລີກ 4 ຕົວ ທຳ ອິດແລະເພາະສະນັ້ນຈຶ່ງອ່ານພຽງແຕ່ຕົວລະຄອນທີ 5 ເທົ່ານັ້ນ.

import java.io.*;

public class SkipDISDemo {

  public static void main(String[] args) throws IOException {
    FileInputStream fi;
    try {
      fi = new FileInputStream("InputFile.txt");
      DataInputStream di = new DataInputStream(fi);
      
      di.skip(4);
      int a = 0;
      while((a=di.read()) != -1)
        System.out.print((char)a);
      
      di.close();
      fi.close();
      
    } catch (FileNotFoundException e) {
      e.printStackTrace();
    }
    

  }

}
is an example of DataInputStream

 

ກະສານອ້າງອີງ