Java 文件(字符串名称)-如果已经是一个";名称“-命名文件是否存在?
如果我写Java 文件(字符串名称)-如果已经是一个";名称“-命名文件是否存在?,java,file,Java,File,如果我写 File file = new File("file.txt"); 在我的实际项目中,direcotry已经存在一个“file.txt”文件,我的acutally file.txt文件会被使用还是会被新创建的file.txt文件覆盖 File file = new File("file.txt"); ? 背景是,我想在现有文件中读取。对不起,误解了这个问题。仅创建文件对象不会创建任何新文件。如果文件已经存在,读取将不会成为问题,如果找不到它,它将抛出FileNotFoundExce
File file = new File("file.txt");
在我的实际项目中,direcotry已经存在一个“file.txt”文件,我的acutally file.txt文件会被使用还是会被新创建的file.txt文件覆盖
File file = new File("file.txt");
?
背景是,我想在现有文件中读取。对不起,误解了这个问题。仅创建文件对象不会创建任何新文件。如果文件已经存在,读取将不会成为问题,如果找不到它,它将抛出FileNotFoundException。如果文件存在,它将使用该现有文件。但是,当然,它的用途取决于您将使用的文件流(输入/输出)。
新文件(“file.txt”)
根本不创建文件。它只是创建了一个与给定路径相关的文件
对象。发件人:
公共类文件
扩展对象
实现可序列化、可比较的
文件和目录的抽象表示路径名
(我的重点。)
如果要读取文件,可以使用或查看文件是否存在且可读,要实际读取文件,可以将文件实例传递到(字符数据)或(原始数据)的构造函数中。如果调用这些构造函数来读取无法读取的文件,则会得到一个IOException
或其子类(例如,如果找不到该文件,FileNotFoundException
)
例如:
FileReader reader = null;
File file = new File("file.txt");
if (file.canRead()) {
try {
// Open the file
reader = new FileReader(file);
// ...read the file...
// Close it
reader.close();
reader = null;
}
finally {
if (reader != null) {
// An exception occurred, close the reader but don't throw a new exception
try {
reader.close();
}
catch (Exception) {
}
}
}
}
在Java 7及更高版本中,使用新的:
Java 7try with resources
语句处理混乱,确保读者为我们关闭。为什么不试试?阅读javadoc。
File file = new File("file.txt");
if (file.canRead()) {
try (FileReader reader = new FileReader(file)) {
// Open the file
reader = new FileReader(file);
// ...read the file...
}
}