【问题标题】:Cannot find symbol error with .exists().exists() 找不到符号错误
【发布时间】:2015-05-12 12:25:16
【问题描述】:
我正在尝试创建一个获取文件名并检查它是否存在的方法。如果它确实存在,我想添加它。如果它不存在,我想创建它然后添加到它。我遇到的第一个问题是检查它是否存在。我有 if(Results.exists == false) 来检查它是否存在,其中“Results”是一个包含文件名并以 .txt 结尾的字符串(例如“PremiershipResults.txt”),但这一直给我错误:“找不到符号”。我遇到的另一个问题是,如果需要,我不知道如何创建文件,以及如何在不覆盖现有文件内容的情况下添加到文件中。如果有人能提供任何建议,我将不胜感激
【问题讨论】:
标签:
java
text
filereader
exists
overwrite
【解决方案1】:
我认为,由于问题被标记为“Java”,因此您正在尝试使用 Java 编程语言来执行此操作。如果不是这种情况,那么这个答案当然不适用,您必须澄清这一点上的问题。
在 Java JDK API 中,确实有一个方法 File.exists(),它将通过其 boolean 返回值指示文件是否存在。但是,这是 File 对象上的方法,而不是 String。此外,如果这是 Java,请注意您无需将 boolean 与 false 进行比较;只需使用 not 运算符,如下所示。
String filename = "PremiershipResults.txt";
File fileref = new File(filename);
if (!fileref.exists()) {
// file does not exist (note ! operator)
// so go ahead and create it
}
else {
// use the existing file
}
还要注意,如果您真正想做的只是写入文件末尾(如果文件已经存在),您可以使用 java.io.FileOutputStream(File f, boolean append) 构造函数或等效的 FileWriter 构造函数打开文件文本文件。
有关详细信息,请参阅http://docs.oracle.com/javase/8/docs/api/java/io/package-frame.html 上这些类的官方 API 文档。
因此,您的代码将如下所示。