如果我有.txt文件的路径,并且我想将所有数据转换为一个String, 无论如何我能做到吗?
我在io.File API
中找不到合适的方法答案 0 :(得分:1)
没有一种方法可以读取java.io包中的整个文件,但是您可以通过使用BufferedReader,逐行读取并将它们与'\ n'一起附加以获得完整内容。例如:
String line = null;
StringBuilder sb = new StringBuilder("");
BufferedReader br = new BufferedReader("c:/path/yourfile.txt");
while ((line = br.readLine()) != null) {
sb.append(line).append("\n");
}
// you may probably need to remove the last '\n' before toString()
String fileContent = sb.toString();
答案 1 :(得分:0)
最简单的方法是在项目中添加Apache Commons IO library并使用FileUtils.readFileToString方法之一
答案 2 :(得分:0)
过去,我使用过Java.util.Scanner类,并且取得了成功。我会尝试编写一个辅助方法,如:
public String getFileAsString(String pathName){
StringBuilder fullTxtFileAsString = new StringBuilder();
Scanner in = new Scanner(new File(pathName));
while(in.hasNext()){
fullTxtFileAsString.append(in.nextLine);
fullTxtFileAsString.append("\n");
}
return fullTxtFileAsString.deleteCharAt(fullTxtFileAsString.size() - 1).
toString(); //Removes the extra newline character
}
答案 3 :(得分:0)
您可以使用Files.readAllLines(Path file)
来读取列表中的txt文件,而不是使用String.join(..)
构建单个字符串,如下所示::
List<String> lines = Files.readAllLines(Paths.get("file.txt"));
String s = String.join( "", lines);
System.out.println(s);
希望这可以提供帮助。