文字说明都在代码的注释里了
package NewFile;
import java.io.*;
public class Demo_File {
public static void main(String[] args){
File f1 = new File("book1.txt");
if(!f1.exists()){
try{
System.out.println(f1.createNewFile()); //创建一个默认与应用程序同一个目录下的book1文件
System.out.println("创建成功!");
}catch(IOException io){
io.toString();
}
}
/* 创建成功后,调用方法 对象.getAbsolutePath()直接获得该文件“book1”的绝对路径
从文件“book1”的绝对路径可以看出该文件处于哪一个目录下
这里我们也侧面得到了应用程序处于哪一个目录下
*/
System.out.println(f1.getName()+"的绝对路径是:"+f1.getAbsolutePath()); //输出链接
System.out.println(f1.getName()+"是否可读:"+f1.canRead());
System.out.println(f1.getName()+"是否是文件:"+f1.isFile());
System.out.println(f1.getName()+"是否可以被写入:"+f1.canWrite());
System.out.println(f1.getName()+"是否是一个目录:"+f1.isDirectory());
System.out.println(f1.getName()+"的父目录是:"+f1.getParent()); //与应用程序同一个目录下,已经是辈分最高的目录了,所以没有父目录
System.out.println("----------------------------------");
File f2=new File("book2.txt");
/*因为book2是在src目录下的文件,与应用程序不处于同一个文件,因此无法在应用程序的目录下找到book2,因此系统没有把他当成一个文件
因此 1、无法被读取
2、因为在应用程序目录下无法被找到,所以调用 对象.isFile()方法时,返回的是false,表示他不是一个文件
3、证明2:调用方法 对象.exists(),返回的是false,表示文件不存在
4、无法被写入
注:在File(String str)创建一个文件对象时,该文件被默认为与当前应用程序在同一个目录下,如果在当前应用程序目录下找不到,则该文件不存在!
*/
System.out.println(f2.getName()+"的绝对路径是:"+f2.getAbsolutePath()); //找不到,所以输出一段字符串(有点自欺欺人的意思)
System.out.println(f2.getName()+"是否可读:"+f2.canRead());
System.out.println(f2.getName()+"是否是文件:"+f2.isFile());
System.out.println(f2.getName()+"文件是否存在:"+f2.exists());
System.out.println(f2.getName()+"是否可以被写入:"+f2.canWrite());
System.out.println(f2.getName()+"是否是一个目录:"+f2.isDirectory());
System.out.println(f2.getName()+"的父目录是:"+f2.getParent());
System.out.println("-------------------------------------");
File f3=new File("D:\\Java\\Java_File\\src","book2.txt");
/* 运行这一段可以看到,book2被找到了,这是因为他有一个父目录来指引我们去找到文件“book2”
既然找到了文件“book2”,那么
1、可以读取
2、是一个文件
3、可以被写入
*/
System.out.println(f3.getName()+"的绝对路径是:"+f3.getAbsolutePath()); //输出链接
System.out.println(f3.getName()+"是否可读:"+f3.canRead());
System.out.println(f3.getName()+"是否是文件:"+f3.isFile());
System.out.println(f3.getName()+"文件是否存在:"+f3.exists());
System.out.println(f3.getName()+"是否可以被写入:"+f3.canWrite());
System.out.println(f3.getName()+"是否是一个目录:"+f3.isDirectory());
System.out.println(f3.getName()+"的父目录是:"+f3.getParent());
System.out.println("---------------------------------------");
File f4=new File("D:\\Java\\Java_File\\src\\book2.txt");
/* f4:这里给出的是一个绝对路径,直接告诉你这里有一个文件“book2”,所以可以不用再写一个参数“文件名”
这也是 f3与f4 的区别
f3:给出的是一个父目录,需要在父目录下寻找文件“book2”
*/
System.out.println(f4.getName()+"的绝对路径是:"+f4.getAbsolutePath()); //输出链接
System.out.println(f4.getName()+"是否可读:"+f4.canRead());
System.out.println(f4.getName()+"是否是文件:"+f4.isFile());
System.out.println(f4.getName()+"文件是否存在:"+f4.exists());
System.out.println(f4.getName()+"是否可以被写入:"+f4.canWrite());
System.out.println(f4.getName()+"是否是一个目录:"+f4.isDirectory());
System.out.println(f4.getName()+"的父目录是:"+f4.getParent());
System.out.println("---------------------------------------");
}
}
运行效果:
有什么疑问或建议可以说一下