文件的IO(输入/输出) 和 文件系统

1.File类

1)File类可以使用文件路径字符串来创建File实例,

 1 import java.io.File;
 2 
 3 import java.io.IOException;
 4 
 5 public class Test1 {
 6     public static void main(String[] args) throws IOException {
 7         File file = new File("D:\\javatest\\d.txt");
 8 
 9         System.out.println(file.canExecute());// 查看当前仅当抽象路径名是否存在,且允许程序执行文件,如果存在返回
10                                                 // true
11         System.out.println(file.canRead());// 查看当前路径是否存在且可以写入,存在,返回true
12 
13         file.createNewFile();//创建一个当前路径文件
14         
15         file.delete();//删除当前路径文件
16 
17     }
18 }

注意:创建一个文件时:会抛出:IOException - 可能发生 I/O 错误 。

 

 2)File的路径

 1 import java.io.File;
 2 
 3 public class Test01 {
 4     public static void main(String[] args) {
 5         System.out.println(File.pathSeparator);//输出  ; 号,是路径分隔符(这里Windows平台下,Linux系统和Mac系统平台的路径分割符是 :号)
 6         
 7         System.out.println(File.separator);//输出 \ 反斜杠,是名称分隔符(这里Windows平台下,Linux系统和Mac系统平台的路径分割符是 / 正斜杠)
 8     }
 9 
10 }

 

 1 import java.io.File;
 2 import java.io.IOException;
 3 
 4 public class Test2 {
 5     public static void main(String[] args) throws IOException {
 6         // File file = new File("D:\\javatest\\c.txt");
 7 
 8         // 用名称路径分隔符创建File对象
 9         File file = new File("D:" + File.separator + "javatest" + File.separator + "c.txt");//等同效果 D:\\javatest\\c.txt 建议使用
10         System.out.println(file);
11 
12         /*
13          * 出现IOException运行时异常
14          * if (!file.exists()) {
15 
16             boolean r;
17             try {
18                 r = file.createNewFile();
19                 if (r) {
20                     System.out.println("文件创建成功");
21                 }
22             } catch (IOException e) {
23                 e.printStackTrace();
24             }
25         }*/
26 
27         file.createNewFile(); 
28         System.out.println("文件创建成功");
29     }
30 }

 

3)目录的创建和遍历

 1 import java.io.File;
 2 
 3 public class Test1 {
 4     public static void main(String[] args) {
 5         File file = new File("D:\\javatest\\c\\b");
 6         file.mkdir();
 7         /*如果javatest路径下没有c路径目录,也没有c\\路径目录;
 8          * 路径创建失败,mkdir一次只能创建一个目录。
 9          * */
10         file.mkdirs();//可以创建此抽象路径名指定的目录,包括所有必需但不存在的父目录
11         
12     }
13 
14 }

 ① 目录的遍历:

  list():返回一个字符串数组,表示该file的目录中的子目录或者文件。

  listFiles():返回一个file路径名数组,表示该file的目录中的子目录或者文件。

 1 import java.io.File;
 2 
 3 public class Teset2 {
 4     public static void main(String[] args) {
 5         // 遍历目录
 6         File file = new File("D:" + File.separator + "javatest");// 效果等同D:\javatest
 7 
 8         File[] listFiles = file.listFiles();
 9         for (File f : listFiles) {
10             System.out.print(f.getName());
11 
12             if (f.isDirectory()) {
13                 System.out.println(" 目录"); //用isDirectory()判断是否为目录
14             } else {
15                 System.out.println(" 文件");
16             }
17         }
18     }
19 }

 

posted @ 2019-05-06 13:46  abcdjava  阅读(441)  评论(0编辑  收藏  举报