Pertanyaan baca file lengkap tanpa menggunakan loop di java [duplikat]


Kemungkinan Duplikat:
Cara membuat Java String dari isi file
Seluruh file teks ke String di Java 

Saya mencoba membaca isi file menggunakan FileReader. Tetapi saya ingin membaca file tanpa membaca baris demi baris. Apakah mungkin untuk membaca seluruh file tanpa loop. Saya menggunakan kode berikut

 try
 {
     File ff=new File("abc.txt");
     FileReader fr=new FileReader(ff);

     String s;
     while(br.read()!=-1)
     {
          s=br.readLine();
     }
 }

 catch(Exception ex)
 {
     ex.printStackTrace();
 }

74
2018-01-05 07:26


asal


Jawaban:


Jika file itu kecil, Anda dapat membaca seluruh data satu kali:

File file = new File("a.txt");
FileInputStream fis = new FileInputStream(file);
byte[] data = new byte[(int) file.length()];
fis.read(data);
fis.close();

String str = new String(data, "UTF-8");

106
2018-01-05 07:40



Java 7 solusi satu baris

List<String> lines = Files.readAllLines(Paths.get("file"), StandardCharsets.UTF_8);

atau

 String text = new String(Files.readAllBytes(Paths.get("file")), StandardCharsets.UTF_8);

141
2018-01-05 07:36



Jika Anda menggunakan Java 5/6, Anda dapat menggunakannya Apache Commons IO untuk membaca file ke string. Kelas org.apache.commons.io.FileUtils contais beberapa metode untuk membaca file.

misalnya menggunakan metode FileUtils#readFileToString:

File file = new File("abc.txt");
String content = FileUtils.readFileToString(file);

28
2018-01-05 07:38



Anda dapat mencoba menggunakan Scanner jika Anda menggunakan JDK5 atau lebih tinggi.

Scanner scan = new Scanner(file);  
scan.useDelimiter("\\Z");  
String content = scan.next(); 

Atau Anda juga bisa menggunakannya Jambu biji

String data = Files.toString(new File("path.txt"), Charsets.UTF8);

26
2018-01-05 07:30