我的项目中有这段代码:
String readFile() {
String pathname = saveDirectory + fileName + ".txt";
String content = "";
File f = new File(pathname);
if (f.exists() && !f.isDirectory()) {
try {
content = new String(Files.readAllBytes(Paths.get(pathname)));
}
catch (IOException e) { }
}
return content;
}
没有错误,aplication运行正常,但content
变量中没有任何文本,我确信txt文件中有文本!
我已经尝试过不同的方法来读取文本文件(使用BufferedReader,Scanner,FileInputStream和FileReader),但它们都没有工作。
聚苯乙烯。我几乎可以肯定问题不在pathname
变量中,因为我试图通过代码打开文件(使用Runtime)并正常打开正确的文件。
好的,我尝试添加e.printStackTrace();
,但仍然没有错误,并且在目录和fileName之间没有错过/
,我已经在\\
中添加了在目录变量中。
答案 0 :(得分:0)
你能忘记目录和文件名之间的/吗?打印路径名的内容并查看。
或更好:调试代码并查看会发生什么。
答案 1 :(得分:0)
您好像打开文件一次(File f = new File(pathname);
),然后尝试在不使用您创建的文件对象的情况下阅读它。您可能会收到IOException,因为Files.readAllBytes(Paths.get(pathname))
无法在文件打开时打开该文件。