java IO-1 File 2019-07-24

IO 中常用的类和接口 :

  1. java.io.File io中唯一一个代表文件的类;
  2. IntputStream    字节输入流,抽象类;
  3. OutputStream  字节输入流,抽象类;
  4. Writer       字符输入流,抽象类;
  5. Reader     字节输出流,抽象类;

File类

 File类是java.io包中唯一代表磁盘本身的对象。file类提供了与平台无关的方法来操作文件,可以对文件进行创建、删除、重命名、判断是否可读。。。等等。

File 的操作

  获取对文件名相关的方法:

  • String getName():返回此File对象所表示的文件名或路径名(如果是路径,则返回最后一级子路径名)
  • String getPath():返回此File对象所对应的路径名
  • String getAbsolutePath():返回此File对象所对应的绝对路径名
  • File getAbsoluteFile():返回此File对象的绝对路径
  • String getParent():返回此File对象所对应目录的父目录名

  获取文件相关的方法:

  • boolean exists():判断File对象所对应的文件或目录是否存在
  • boolean canWrite():判断File对象所对应的文件是否可写
  • boolean canRead():判断File对象所对应的文件是否可读
  • boolean canExecute():判断File对象所对应的文件是否执行
  • boolean isDirectory():判断File对象所对应的文件是否是目录
  • boolean isAbsolute():判断File对象所对应的文件或目录是否是绝对路径
  • boolean isFile(): 判断File对象对应的文件是否真的为文件

  获取文件的常规操作信息:

  • long lastModified():返回文件的最后修改时间
  • long length():返回文件内容的长度
  • URL toURL():获取文件路径URL后的路径名

  目录操作的方法:

  • boolean mkdir():创建一个File对象所对应的目录,如果创建成功返回true,否则返回false
  • String[] list():列出File对象的所有子文件名和路径名,返回String数组
  • File[] listFiles():列出File对象的所有子文件和路径,返回File数组
  • static File[] listRoots():列出系统所有根路径

  文件操作的方法

  • boolean createNewFile():当File对象所对应的文件不存在时,创建一个File对象所指定的新文件,如果创建成功则返回true,否则返回false
  • boolean delete():删除File对象所对应的文件或路径
  • static File createTempFile(String prefix, String suffix, File directory):在指定的File目录下创建一个临时的空文件,使用给定前缀、系统生成的随机数和给定后缀作为文件名,如果没有传入File目录对象,则默认在临时文件目录创建临时文件
  • void deleteOnExit():File对象会在JVM退出时删除所指定的文件或目录
  • boolean renameTo(File dest):重命名此File对象所对应的文件或目录,如果命名成功则返回true,否则返回false

下面是写了一点测试的代码并不全:

 1 public static void main(String[] args) {
 2         String fileName = "D:\\File";
 3         File file = new File(fileName);
 4 
 5         if (file.exists() && file.isDirectory()) // 判断路径指向的文件/文件夹是否存在、是否目录
 6         {
 7             System.out.println("file是一个文件夹\n");
 8 
 9             File[] files = file.listFiles(); // 获取目录下的所有文件/文件夹(仅该层路径下)
10             System.out.print("路径下有文件:");
11             for (File f : files)
12             {
13                 System.out.print(f + "\t");
14             }
15             System.out.println();
16 
17             //获取对文件的操作
18             System.out.println("files[0]的文件名:" + files[0].getName()); // 获取文件名、文件夹名
19             System.out.println("files[0]的文件路径:" + files[0].getPath()); // 获取文件、文件夹路径
20             System.out.println("files[0]的绝对路径:" + files[0].getAbsolutePath()); // 获取文件、文件夹绝对路径
21             System.out.println("files[0]的父文件夹名:" + files[0].getParent()); // 获取文件父目录路径
22 
23             //获取文件检测相关的方法
24             System.out.println(files[0].exists() ? "files[0]的存在" : "files[0]的不存在"); // 判断文件、文件夹是否存在
25             System.out.println(files[0].canWrite() ? "files[0]的可写" : "files[0]的不可写"); // 判断文件是否可写
26             System.out.println(files[0].canRead() ? "files[0]的可读" : "files[0]的不可读"); // 判断文件是否可读
27             System.out.println(files[0].canExecute() ? "file[0]可执行" : "file[0]不可执行"); // 判断文件是否可执行
28             System.out.println(files[0].isDirectory() ? "files[0]的是目录" : "files[0]的不是目录"); // 判断文件、文件夹是不是目录
29             System.out.println(files[0].isFile() ? "files[0]的是文件" : "files[0]的不是文件"); // 判断拿文件、文件夹是不是标准文件
30             System.out.println(files[0].isAbsolute() ? "files[0]的路径名是绝对路径" : "files[0]的路径名不是绝对路径"); // 判断路径名是不是绝对路径
31 
32             //获取文件的常规操作信息
33             System.out.println("files[0]的最后修改时间:" + files[0].lastModified()); // 获取文件、文件夹上一次修改时间
34             System.out.println("files[0]的大小:" + files[0].length() + " Bytes"); // 获取文件的字节数,如果是一个文件夹则这个值为0
35             System.out.println("files[0]的路径转换为URI:" + files[0].toURI()); // 获取文件路径URI后的路径名
36 
37 
38             /**
39              * 目录操作的相关方法:
40              *  boolean mkdir():创建一个File对象所对应的目录,如果创建成功返回true,否则返回false
41              *  String[] list():列出File对象的所有子文件名和路径名,返回String数组
42              *  File[] listFiles():列出File对象的所有子文件和路径,返回File数组
43              *  static File[] listRoots():列出系统所有根路径
44              */
45 
46             /**
47              * 文件的操作方法:
48              *   boolean createNewFile():当File对象所对应的文件不存在时,创建一个File对象所指定的新文件,如果创建成功则返回true,否则返回false
49              *   static File createTempFile(String prefix, String suffix, File directory):在指定的File目录下创建一个临时的空文件,使用给定前缀、系统生成的随机数和给定后缀作为文件名,如果没有传入File目录对象,则默认在临时文件目录创建临时文件
50              *   boolean renameTo(File dest):重命名此File对象所对应的文件或目录,如果命名成功则返回true,否则返回false
51              *   boolean delete(); 删除执行的文件夹 文件夹
52              *   void deleteOnExit(); 当虚拟机终止的时候删除指定的文件夹或者文件
53              */
54 
55             if (files[0].exists())
56                 files[0].delete(); // 删除指定的文件、文件夹
57             if (files[1].exists())
58                 files[1].deleteOnExit(); // 当虚拟机终止时删除指定的文件、文件夹
59         }
60     }
View Code

猜你喜欢

转载自www.cnblogs.com/L-o-g-i-c/p/11170995.html