读取完整文件,而无需在 java 中使用循环

2022-08-31 08:46:32

可能的重复:
如何在Java中创建从文件
内容的Java字符串整个文本文件到字符串

我正在尝试使用FileReader读取文件的内容。但是我想在不逐行读取的情况下读取文件。是否可以在没有循环的情况下读取整个文件。我正在使用以下代码

 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();
 }

答案 1

Java 7 单行解决方案

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

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

答案 2

如果文件很小,您可以读取整个数据一次:

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");