第十八章 Java I/O流

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第十八章 Java I/O流相关的知识,希望对你有一定的参考价值。

1.获取指定目录下的所有文件或文件夹

 1 package cn.itcast_01;
 2 import java.io.File;
 3 import java.io.IOException;
 4 /**
 5  * 需求:获取指定目录下的所有文件和目录(返回的是名称数组或File数组)
 6  */
 7 public class FileDemo5 {
 8     public static void main(String[] args) {
 9         //创建file对象并指定抽象路径名
10         File file = new File("E:");
11         //list()返回的是名称数组
12         String[] s = file.list();
13         for (String string : s) {
14             System.out.println(string);
15         }
16         System.out.println("--------");
17         File[] listFile = file.listFiles();
18         for (File f : listFile) {
19             System.out.println(f.getName());
20             System.out.println(f.getPath());
21         }
22     }
23 }

2.获取指定目录下的指定文件

 1 package cn.itcast_01;
 2 import java.io.File;
 3 import java.io.IOException;
 4 /**
 5  * 需求:获取指定目录下所有以.jpg结尾的文件
 6  */
 7 public class FileDemo6 {
 8     public static void main(String[] args) throws IOException {
 9         //创建file对象指定抽象路径名
10         File file = new File("E:");
11         //获取指定目录下所有内容(File数组)
12         File[] files = file.listFiles();
13         //遍历数组并判断是否满足条件
14         for (File f : files) {
15             if(f.isFile()){
16                 if(f.getName().endsWith(".jpg")){
17                     System.out.println(f.getName());
18                 }
19             }
20         }
21     }
22 }
 1 package cn.itcast_01;
 2 import java.io.File;
 3 import java.io.FilenameFilter;
 4 import java.io.IOException;
 5 /**
 6  * 文件名称过滤器
 7  * 直接返回满足条件的文件
 8  */
 9 public class FileDemo7 {
10     public static void main(String[] args) throws IOException {
11         //定义file对象指定路径
12         File file = new File("E:");
13         //查询所有满足条件的文件
14         String[] s = file.list(new FilenameFilter() {
15             
16             public boolean accept(File dir, String name) {
17                 /*File file = new File(dir,name);
18                 boolean flag1 = file.isFile();
19                 boolean flag2 = name.endsWith(".jpg");
20                 return flag1&&flag2;*/
21                 return new File(dir, name).isFile() && name.endsWith(".jpg");
22             }
23         });
24         for (String string : s) {
25             System.out.println(string);
26         }
27     }
28 }

 

以上是关于第十八章 Java I/O流的主要内容,如果未能解决你的问题,请参考以下文章

第十八章 文本处理流编辑器:sed命令

“全栈2019”Java异常第十八章:Exception详解

第十八章 用于大型程序的工具

流畅python学习笔记第十八章:使用asyncio包处理并发

第十八章 springboot + thymeleaf

Linux内核分析——第十八章 调试