1. Baca isi file berdasarkan byte
public class ReadFromFile {public static void readFileByBytes(String fileName) {File file = new File(fileName);InputStream in = null;try {System.out.println("Baca konten file dalam byte, satu kata pada satu waktu Bagian: ");//Baca satu byte pada satu waktu di = new FileInputStream(file);int tempbyte;sementara ((tempbyte = in.read()) != -1) {System.out.write(tempbyte);}in.close();} catch (IOException e) {e.printStackTrace();return;}try {System.out.println("Baca file dalam byte Konten, baca banyak byte sekaligus: ");// Membaca beberapa byte sekaligus byte[] tempbytes = new byte[100];int byteread = 0;in = new FileInputStream(fileName);ReadFromFile.showAvailableBytes(in);//Membaca beberapa byte ke dalam array byte, byteread adalah jumlah byte yang dibaca pada satu waktu while ((byteread = in.read(tempbytes)) != - 1) { System.out.write(tempbytes, 0, byteread);}} catch (Pengecualian e1) {e1.printStackTrace();} akhirnya {if (in != null) {coba {in.close();} tangkap (IOException e1) {}}}}
2. Membaca konten file berdasarkan karakter
public static void readFileByChars(String fileName) {File file = new File(fileName);Reader reader = null;try {System.out.println("Baca konten file dalam satuan karakter, satu byte pada satu waktu:"); / /Baca satu karakter dalam satu waktu reader = new InputStreamReader(new FileInputStream(file));int tempchar; while ((tempchar = reader.read()) != -1) {// Untuk Windows, ketika dua karakter /r/n digabungkan, keduanya mewakili baris baru. // Namun jika kedua karakter ini ditampilkan secara terpisah, garisnya akan diubah dua kali. // Jadi, blokir /r, atau blokir /n. Jika tidak, akan ada banyak baris kosong. if (((char) tempchar) != '/r') {System.out.print((char) tempchar);}}reader.close();} catch (Pengecualian e) {e.printStackTrace();} coba {System.out.println("Baca konten file dalam satuan karakter, baca beberapa byte sekaligus:");//Baca beberapa karakter sekaligus char[] tempchars = new char[30];int charread = 0;reader = new InputStreamReader(new FileInputStream(fileName));//Membaca beberapa karakter ke dalam array karakter, charread adalah jumlah karakter yang dibaca sekaligus sementara ((charread = reader.read(tempchars)) != -1 ) {// Juga lindungi /r dan jangan tampilkan if ((charread == tempchars.length)&& (tempchars[tempchars.length - 1] != '/r')) {System.out.print(tempchars);} else {for (int i = 0; i < charread; i++) {if (tempchars[i] == '/r') {lanjutkan;} else {System.out. print(tempchars[i]);}}}}} catch (Pengecualian e1) {e1.printStackTrace();} akhirnya {if (reader != null) {coba {reader.close();} catch (IOException e1) {}}}}
3. Baca isi file baris demi baris
public static void readFileByLines(String fileName) {File file = new File(fileName);BufferedReader reader = null;try {System.out.println("Baca konten file dalam satuan baris, baca seluruh baris sekaligus:") ;reader = new BufferedReader(new FileReader(file));String tempString = null;int line = 1;//Baca baris demi baris hingga null dibaca sebagai akhir file sementara ((tempString = reader.readLine()) != null) {//Menampilkan nomor baris System.out.println("line " + line + ": " + tempString);line++;}reader.close();} catch (IOException e) {e.printStackTrace();} akhirnya {if (reader != null) {coba {reader.close();} catch (IOException e1) {}}}}
4. Membaca isi file secara acak
public static void readFileByRandomAccess(String fileName) {RandomAccessFile randomFile = null;coba {System.out.println("Baca konten file secara acak:");//Buka aliran file akses acak dalam mode baca-saja randomFile = new RandomAccessFile ( fileName, "r"); // Panjang file, jumlah byte panjang fileLength = randomFile.length(); BeginIndex = (fileLength > 4) ? 4 : 0;//Pindahkan posisi awal pembacaan file ke posisi BeginIndex. randomFile.seek(beginIndex);byte[] bytes = new byte[10];int byteread = 0;//Baca 10 byte sekaligus. Jika konten file kurang dari 10 byte, baca byte yang tersisa. // Tetapkan jumlah byte yang dibaca sekaligus ke byteread while ((byteread = randomFile.read(bytes)) != -1) {System.out.write(bytes, 0, byteread);}} catch (IOException e) {e.printStackTrace();} akhirnya {if (randomFile != null) {coba {randomFile.close();} catch (IOException e1) {}}}}kekosongan statis pribadi showAvailableBytes(InputStream in) {try {System.out.println("Jumlah byte dalam aliran input byte saat ini adalah:" + in.available());} catch (IOException e) {e.printStackTrace();} }public static void main(String[] args) {String fileName = "C:/temp/newTemp.txt";ReadFromFile.readFileByBytes(fileName);ReadFromFile.readFileByChars(fileName);ReadFromFile.readFileByLines(fileName);ReadFromFile.readFileByRandomAccess(fileName);}}
5. Tambahkan konten ke akhir file
public class AppendToFile {public static void appendMethodA(String fileName, String content) {coba {//Buka aliran file akses acak, baca dan tulis RandomAccessFile randomFile = new RandomAccessFile(fileName, "rw");//Panjang file, kata Nomor bagian long fileLength = randomFile.length();//Pindahkan penunjuk file tulis ke akhir file. randomFile.seek(fileLength);randomFile.writeBytes(content);randomFile.close();} catch (IOException e) {e.printStackTrace();}}public static void appendMethodB(String fileName, String content) {coba {/ /Buka penulis file. Parameter kedua true di konstruktor berarti menulis file dalam bentuk tambahan. Penulis FileWriter = new FileWriter(namafile, true);writer.write(content);writer.close();} catch (IOException e) {e.printStackTrace();}} public static void main(String[] args) {String fileName = "C:/temp /newTemp.txt";String content = "tambahan baru!";//Tambahkan file sesuai dengan metode AAppendToFile.appendMethodA(namafile, content);AppendToFile.appendMethodA(fileName, "append end. /n");//Menampilkan konten file ReadFromFile.readFileByLines(fileName);//Menambahkan file sesuai dengan metode BAppendToFile.appendMethodB(fileName, content);AppendToFile. appendMethodB( namafile, "tambahkan akhir. /n");//Menampilkan konten file ReadFromFile.readFileByLines(namafile);}}