关于File的isFile()方法一直返回false问题
相关代码:public static void main(String[] args) {
File file=new File("D:\\File");
File file2=new File("D:\\File\\Monday.docx");
if(!file.exists()) {
file.mkdir();
File file1=new File("D:\\File","Monday.docx");
if(!file1.exists()) {
try {
File.createTempFile("Monday", ".docx", file);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("创建文件成功!");
System.out.println("文件名称:"+file1.getName());
System.out.println("文件上一级目录:"+file1.getParentFile().getName());
System.out.print("文件/目录:");
if(file1.isFile()) {
System.out.println("这是一个文件");
}else {
System.out.println("这不是一个文件");
}
if(file1.isDirectory()) {
System.out.println("这是一个目录");
}else {
System.out.println("这不是一个目录");
}
System.out.print("读写性:");
if(file2.canRead()) {
System.out.println("这个文件可读");
if(file2.canWrite()) {
System.out.println("这个文件既可以读也可以写");
}else {
System.out.println("这个文件可以读,不可写");
}
}else {
System.out.println("这个文件不可读");
}
}
}else {
file2.delete();
}
}
10
收起
正在回答
1回答
同学你好,测试同学贴出代码,isFile()方法一直返回false,是同学的文件并没有创建成功,同学在创建文件过程中有如下问题,
1)、不需要重复判断文件夹是否存在。
2、建议在执行file.mkdir();后,执行跳出当前步骤,重新执行创建文件的内容。
3、在创建文件时,调用的对象注意是对象,而不是直接使用File类。
修改后的代码如下
public static void main(String[] args) {
File file = new File("D:\\File");
File file2 = new File("D:\\File\\Monday.docx");
if (!file.exists()) {
file.mkdir();
}
File file1 = new File("D:\\File", "Monday.docx");
//if (!file1.exists()) {
try {
//File.createTempFile("Monday", ".docx", file);
file1.createTempFile("Monday", ".docx", file);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("创建文件成功!");
System.out.println("文件名称:" + file1.getName());
System.out.println("文件上一级目录:" + file1.getParentFile().getName());
System.out.print("文件/目录:");
if (file1.isFile()) {
System.out.println("这是一个文件");
} else {
System.out.println("这不是一个文件");
}
if (file1.isDirectory()) {
System.out.println("这是一个目录");
} else {
System.out.println("这不是一个目录");
}
System.out.print("读写性:");
if (file2.canRead()) {
System.out.println("这个文件可读");
if (file2.canWrite()) {
System.out.println("这个文件既可以读也可以写");
} else {
System.out.println("这个文件可以读,不可写");
}
} else {
System.out.println("这个文件不可读");
}
//}
// } else {
// file2.delete();
// }
}
祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星