File类:
文件对象,在程序中抽象地表示计算机中的文件和目录(文件夹)。可对文件和目录属性进行操作。
但无法操作文件具体数据,既不能直接对文件进行读写操作。
File对象只表示文件,不能对文件内容进行读写操作。
构造方法:
File f1=new File("aaa.txt") //aaa.txt是相对路径,带当前目录下创建aaa.txt文件名相关联文件对象
路径理解:
E:/demo.txt 绝对路径 完整路径
a.txt 相对路径 不是全路径,是两个文件的同一父级的路径
方法:
①getAbsolectePath()获取文件绝对路径
File f1=new File("E:/Demo.txt"); File f2=new File("Demo.txt"); // 获取File对象的绝对路径 System.out.println(f2.getAbsolutePath()); // E:\javaSE\FFYCjava\Demo.txt
②lastModified() 获取文件最后修改时间
// 获取文件父类 System.out.println(f1.getParent()); // 获得文件最后修改时间 long l=f1.lastModified(); System.out.println(l); // E:\ // 1657528084215
③CanRead() 判断文件是否可读 CanWrite() 判断文件是否可写
// 判断文件是否可读 System.out.println(f1.canRead()); // 判断文件是否可写 System.out.println(f1.canWrite()); // true // true
④判断文件是否存在
// 判断文件是否存在 if (!f1.exists()){ try { f1.createNewFile(); //若不存在穿件新文件 } catch (IOException e) { e.printStackTrace(); System.out.println("文件路径不正确"); } }
⑤判断表示的是否是文件,是不是目录
// 判断表示的是不是文件 System.out.println(f1.isFile()); // 判断表示的是不是目录 System.out.println(f1.isDirectory());
⑥对文件夹操作
// 对文件夹操作 File f3=new File("E:/demo3"); f3.mkdir(); // 删除文件,只删除最底层没存储内容的文件 f3.delete(); // 创建多级文件 File f3=new File("E:/Demo3/Demo4/Demo5"); f3.mkdirs();
⑦遍历目录中文件
ile f3=new File("E:\\非凡英才"); String[] f=f3.list(); for(String name:f){ System.out.println(name); } File[] fileArray=f3.listFiles(); for(File name:fileArray){ System.out.println(name); }
输入输出
输入与输出相对
public static void main(String[] args) throws IOException { FileInputStream fi=new FileInputStream("E:/Demo.txt"); FileOutputStream fo=new FileOutputStream("E:/Demo1.txt");//自动创建新的文件 int a=0; while((a=fi.read())!=-1){ System.out.println(a); fo.write(a); }