IO流(Input Output) 19~20天

来源:互联网 发布:飞控调参软件 编辑:程序博客网 时间:2024/05/02 02:57

黑马程序员_毕向东_Java基础视频教程第20天-01-IO流(File概述)

File类

用来将文件或者文件夹封装成对象

方便对文件与文件夹的属性信息进行操作.

File对象可以作为参数传递给流的构造函数.

了解File类中的常用方法.

 

import java.io.*;class FileDemo{public static void main(String[] args){}//创建File对象public static void consMetod(){//将a.txt封装成file对象.可以将已有的和未出现的文件或者文件夹封装成对象.File f1=new File("a.txt");File f2=new File("c:\\abc","b.txt");File d=new File("c:\\abc");File f3=new File(d,"c.txt");sop("f1"+f1);sop("f2"+f2);sop("f3"+f3);
}public static void sop(Object obj){System.out.println(obj);}}


 

 

黑马程序员_毕向东_Java基础视频教程第20天-02-IO流(File对象功能-创建和删除)

 黑马程序员_毕向东_Java基础视频教程第20天-03-IO流(File对象功能-判断)

黑马程序员_毕向东_Java基础视频教程第20天-04-IO流(File对象功能-获取)

File类常见方法:

1,创建.

boolean createNewFile();在指定位置创建文件,如果该文件已经存在,则不创建返回false

                                            和输出流不一样,输出流对象一创建文件,而且已经存在,则覆盖

2,删除.

boolean  delete();删除失败返回false

void deleteOnExit();在程序退出时删除指定文件.

3判断

boolean exists():文件是否存在.

isFile();

isDirectory();

isHidden():

isAbsolute();

4获取信息.

getName();

getPath();

getParent();该方法返回绝对路径中的父目录,如果没有,返回空.

如果相对路径中,有上一层目录,那么该目录就是返回结果.

getAbsolutePath();

long lastModified();

long length();

黑马程序员_毕向东_Java基础视频教程第20天-05-IO流(File对象功能-文件列表)

黑马程序员_毕向东_Java基础视频教程第20天-06-IO流(File对象功能-文件列表2)

 

调用list方法的file对象必须是封装了一个目录,该目录还必须存在.

黑马程序员_毕向东_Java基础视频教程第20天-07-IO流(列出目录下所有内容-递归)

列出指定目录下文件或者文件夹,包含子目录中的内容.

也就是列出指定目录下的所有内容.

因为目录中还有目录,只要使用同一个列出目录功能的函数完成即可.

在列出过程中出现的还是目录的话,还可以再次调用本功能.

也就是函数自身调用自身.

这种表形形式 ,或者编程手法,称为递归.

import java.io.*;class FileDemo3{public static void main(String[] args){File dir=new File("c:\\");showDir(dir);}public static void showDir(File dir){System.out.println(dir);File[] files=dir.listFiles();for(File f:files){if(f.isDirectory())showDir(f);elseSystem.out.println(f);}}}

递归要注意

1,限定条件.

2,要注意递归的次数,尽量避免内存的异常.

黑马程序员_毕向东_Java基础视频教程第20天-08-IO流(列出目录下所有内容-带层次)

黑马程序员_毕向东_Java基础视频教程第20天-09-IO流(删除带内容的目录)

删除一个带内容的目录.

删除原理.

在window中,删除目录从里面往外删除的.

 

 

既然是从里往外删除,就需要用到递归.

 

黑马程序员_毕向东_Java基础视频教程第20天-10-IO流(创建java文件列表)

 

练习

将一个指定目录下的java文件的绝对路径,存储到一个文本文件中.

建立一个java文件列表文件.

思路:

1对指定的目录进行递归.

2,获取递归过程中所有的java文件的路径.

3将这些路径存储到集合中.

4将集合中的数据写入到一个文件中.

0 0