Artikel ini berbagi metode Java membaca file untuk referensi Anda. Konten spesifiknya adalah sebagai berikut
1. Baca konten file dengan byte
2. Baca konten file berdasarkan karakter
3. Baca konten file berdasarkan baris
4. Baca konten file secara acak
Public Class ReadFromFile { /*** Baca file dalam byte, sering digunakan untuk membaca file biner, seperti gambar, suara, gambar, dan file lainnya. */ public static void readfilebybytes (string fileName) {file file = file baru (nama file); Inputstream in = null; coba {System.out.println ("Baca konten file dalam byte, baca satu byte pada suatu waktu:"); // Baca satu byte pada satu waktu di = FileInputStream baru (file); int tempbyte; while ((tempbyte = in.read ())! = -1) {System.out.write (tempbyte); } in.close (); } catch (ioException e) {e.printstacktrace (); kembali; } coba {System.out.println ("Baca konten file dalam byte, baca beberapa byte sekaligus:"); // Baca beberapa byte pada satu waktu byte [] tempbytes = byte baru [100]; int byteread = 0; di = FileInputStream baru (nama file); ReadFromFile.shoWavailableBytes (in); // Baca banyak byte ke dalam array byte, byteread adalah jumlah byte yang dibaca pada satu waktu ((byteread = in.read (tempbytes))! = -1) {System.out.write (Tempbytes, 0, byteread); }} catch (Exception e1) {e1.printstacktrace (); } akhirnya {if (in! = null) {coba {in.close (); } catch (ioException e1) {}}}} / *** Baca file dalam karakter, sering digunakan untuk membaca file teks, angka, dll.* / public static void readFilebyChars (string filename) {file file = file baru (fileName); Pembaca pembaca = null; coba {System.out.println ("Baca konten file dalam karakter, baca satu byte pada satu waktu:"); // Baca satu karakter pada waktu pembaca = inputStreamReader baru (FileInputStream baru (file)); int tempchar; while ((tempar = reader.read ())! = -1) {// untuk windows, ketika dua karakter /r /n bersama -sama, mereka mewakili garis baru. // Tetapi jika kedua karakter ini ditampilkan secara terpisah, garis akan diubah dua kali. // Oleh karena itu, blok /r, atau blok /n. Kalau tidak, akan ada lebih banyak tanda kosong. if ((((char) tempchar)! = '/r') {System.out.print ((char) tempchar); }} reader.close (); } catch (Exception e) {E.PrintStackTrace (); } coba {System.out.println ("Baca konten file dalam karakter, baca beberapa byte sekaligus:"); // Baca banyak karakter di A Time Char [] tempchars = new char [30]; int charread = 0; pembaca = inputStreamReader baru (FileInputStream baru (nama file)); // Baca banyak karakter ke dalam array karakter, charread adalah jumlah karakter yang dibaca pada satu waktu sementara ((charread = reader.read (tempchars))! = -1) {// juga diblokir/r tidak ditampilkan jika ((charread == tempchars.length) && (tempchars [tempchars.length - 1]! } else {for (int i = 0; i <charread; i ++) {if (tempchars [i] == '/r') {lanjut; } else {System.out.print (tempchars [i]); }}}}}}} catch (pengecualian e1) {e1.printstacktrace (); } akhirnya {if (reader! = null) {coba {reader.close (); } catch (ioException e1) {}}}} / ** * Baca file dalam unit perilaku, sering digunakan untuk membaca file yang diformat dengan baris * / public static void readFileByLines (string filename) {file file = file baru (fileName); BufferedReader Reader = null; Coba {System.out.println ("Baca konten file dalam unit perilaku, baca satu seluruh baris pada satu waktu:"); pembaca = BufferedReader baru (filereader baru (file)); String tempsstring = null; Int line = 1; // Baca dalam satu baris pada satu waktu sampai NULL adalah akhir dari file saat ((tempsstring = reader.readline ())! = Null) {// Tampilkan nomor nomor System.out.println ("Line" + Line + ":" + Tempsstring); garis ++; } reader.close (); } catch (ioException e) {e.printstacktrace (); } akhirnya {if (reader! = null) {coba {reader.close (); } catch (ioException e1) {}}}} / *** Konten file baca acak* / public static void readFileByRandomAccess (string fileName) {acakAccessFile acakfile = null; coba {System.out.println ("Acak Baca sepotong konten file:"); // buka aliran file akses acak, baca-only acakFile = new acakAccessFile (fileName, "r"); // panjang file, jumlah byte panjang filelength = randomFile.length (); // Mulai posisi membaca file int beginIndex = (FileLelength> 4)? 4: 0; // Pindahkan posisi mulai dari file baca ke posisi begininindex. randomfile.seek (beginindex); byte [] bytes = byte baru [10]; int byteread = 0; // Baca 10 byte sekaligus. Jika konten file kurang dari 10 byte, baca byte yang tersisa. // Tetapkan jumlah byte yang dibaca pada satu waktu untuk 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) {}}}} / *** Tunjukkan jumlah byte yang tersisa di aliran input* / private static void showavailableBytes (inputStream in) {coba {System.out.println ("Jumlah byte dalam stream input byte saat ini:" + in. " } catch (ioException e) {e.printstacktrace (); }} public static void main (string [] args) {string filename = "c: /temp/newtemp.txt"; ReadFromFile.readfilebybytes (nama file); ReadFromFile.readfilebychars (nama file); ReadFromFile.readfilebylines (nama file); Readfromfile.readfilebyrandomaccess (nama file); }}5. Tambahkan konten ke akhir file
Metode Public Class AppendToFile { / ** * Metode file apend: Gunakan acakeCacSfile * / public static void appendMethoda (string fileName, string content) {try {// buka aliran file akses acak, dan baca dan tulis acak ACCEACCESSFILE randomFile = new acakeAccessFile (fileName, "rw"); // panjang file, jumlah byte panjang filelength = randomFile.length (); // Pindahkan pointer file tulis ke akhir file. randomfile.seek (FileLength); acakfile.writebytes (konten); randomfile.close (); } catch (ioException e) {e.printstacktrace (); }} /** * Metode b Menambahkan File: Gunakan FileWriter * /public static void appendMethoDb (string fileName, string content) {coba {// buka fileWriter, parameter kedua dalam konstruktor adalah benar untuk menulis file dalam formulir yang ditambahkan file file fileWriter = FileWriter baru (nama file, benar); writer.write (konten); writer.close (); } catch (ioException e) {e.printstacktrace (); }} public static void main (string [] args) {string filename = "c: /temp/newtemp.txt"; String content = "New Apend!"; // Tambahkan file appendtofile.appendMethoda (nama file, konten); Appendtofile.appendmethoda (nama file, "append end. /N"); // tunjukkan konten file readfromfile.readfilebylines (fileName); // Tambahkan file appendtofile.appendMethoDb (nama file, konten); Appendtofile.appendMethoDB (nama file, "append end. /N"); // tunjukkan konten file readfromfile.readfilebylines (fileName); }} Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.