import java.io.File;
class AttriDemo{
public static void main(String args[]){
File f1 = new File("FileIO/file.txt");
System.out.println("File name : " + f1.getName());
System.out.println("File path : " + f1.getPath());
System.out.println("File AbsPath : " + f1.getAbsolutePath());
System.out.println("File parent : " + f1.getParent());
f1.setWritable(true);
if(f1.canWrite())
{
System.out.println("File is Writeable");
}
else
{
System.out.println("File is not Writeable");
}
if(f1.canRead())
{
System.out.println("Is readable");
}
else
{
System.out.println("File is not readable");
}
}
}
我的文件在实际中是可读写的......
然后我尝试将其显式设置为Writable但仍然输出显示它,因为文件不可写!!
输出:
....
The file is not writable.
The file is not readable.
File f1 = new File("D:/javaProgs/FileIO/AttriDemo.java");
这样做有助于解决问题。 但有人可以解释一下吗?我的意思是该文件位于同一目录中,上面的语句运行得很好。例如getName()getParent()
答案 0 :(得分:1)
愚蠢的是你可以创建一个File对象,无论你指定的路径是否存在,你都可以调用该对象上的所有getParent
,getPath
函数。
您可以创建一个不受真实文件支持的File对象,原因有多种,例如检查它是否存在,或者创建由该对象路径和名称指定的文件。
您可以使用File.exists()查看文件系统上是否确实存在文件。