java I/O系统之File流

File类

File(文件)类具有一定的误导性,我们可能会认为它代指的是文件,实际上并非如此,它既能代表一个特定文件的名称,又能和代表一个目录下一组文件的名称。如果他指的是文件集,我们可以调用集合的list方法,这方法会返还一个字符数组。

字段详细信息

static String pathSeparator
与系统有关的路径分隔符,为了方便,它被表示为一个字符串。
static char pathSeparatorChar
与系统有关的路径分隔符。
static String separator
与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。
static char separatorChar
与系统有关的默认名称分隔符。
D:\Java_0408\JavaSE\day05\代码

静态常量成员能够适配不同的操作系统

构造方法
public File(String pathname) pathname文件路径名
public File(String parent,String child) 父路径名 子路径名
public File(File parent,String child) 通过父文件对象和子文件名称构造文件对象

 

 1 public class FileDemo01 {
 2     
 3 
 4     public static void main(String[] args) {
 5         File file = new File("E:\\test\\mygames.txt");
 6         //是否存在  
 7         System.out.println(file.exists());
 8         //取得文件名
 9         System.out.println(file.getName());
10         //取得文件路径
11         System.out.println(file.getPath());
12         //取得文件绝对路径
13         System.out.println(file.getAbsolutePath());
14         //得到父文件夹名
15         System.out.println(file.getParentFile());
16         //判断文件是否可写
17         System.out.println(file.canWrite());
18         //判断文件是否可读
19         System.out.println(file.canRead());
20         //判断是否是目录
21         System.out.println(file.isDirectory());
22         //判断文件是否存在
23         System.out.println(file.isFile());
24         //是否是绝对路径名称
25         System.out.println(file.isAbsolute());
26         //文件最后的修改时间
27         Date date = new Date(file.lastModified());
28         SimpleDateFormat dateFormat =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
29         String format = dateFormat.format(date);
30         System.out.println(format);
31         System.out.println(date);
32         //文件的大小
33         System.out.println(FileUtils.byteCountToDisplaySize(file.length()));        
34         
35     }
36 }

例子2

从键盘输入接收一个文件夹路径,打印出该文件夹下所有的.java文件名

 1 public class FileDemo06 {
 2 
 3 public static void getAllJavaFile(File files,ArrayList<File> listfiles){
 4 File[] filelist = files.listFiles();
 5 if (filelist != null) {
 6 for (File file : filelist) {
 7 if (file.isDirectory()) {
 8 getAllJavaFile(file, listfiles);
 9 }else {
10 String fileName = file.getName();
11 if (fileName.endsWith(".java")) {
12 listfiles.add(file);
13 }
14 }
15 }
16 }
17 
18 }
19 public static void main(String[] args) {
20 String path="D:\\";
21 File files = new File(path);
22 if (files.exists()&& files.isDirectory()) {
23 ArrayList<File> filelist = new ArrayList<File>();
24 getAllJavaFile(files, filelist);
25 for (File file : filelist) {
26 System.out.println(file.getAbsolutePath());
27 }
28 }
29 }
30 }

 在实际开发中有Apache提供的IO commons工具包来实现IO流的一些操作。

posted @ 2019-04-30 17:46  凄夜听雨  阅读(194)  评论(0编辑  收藏  举报