read complete file without using loop in java
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
How to create a Java String from the contents of a file
Whole text file to a String in Java
我正在尝试使用文件读取器读取文件的内容。但我不想一行一行地读这个文件。是否可以不循环地读取整个文件?我使用以下代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 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(); } |
Java 7单线解决方案
1 | List<String> lines = Files.readAllLines(Paths.get("file"), StandardCharsets.UTF_8); |
或
如果文件很小,可以读取整个数据一次:
1 2 3 4 5 6 7 | 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"); |
如果使用Java 5/6,则可以使用Apache CAMONS IO来读取文件到字符串。类
例如,使用
如果您使用的是JDK5或更高版本,则可以尝试使用扫描仪。
1 2 3 |
或者你也可以用番石榴