目录
File类
File类是java.io包中很重要的一个类。它既可以表示文件,还可以表示目录,在程序中一个File类兑现可以代表一个文件或目录。
File对象可以对文件或目录的属性进行操作,如:文件名、左后修改日期、文件大小等。
Fiel对象无法操作文件中的具体数据,即不能直接对文件进行读、写操作。
Fiel类的常用方法和说明:
1.boolean exists判断文件是否存在,存在就返回true,否则就返回false。但是他的定义的返回值我们并不常用,因为我们需要判断一个文件不存之后对文件进行创建,这个时候返回的false不能进入if只能再创建一个else比较麻烦,所以我们就用到了!非运算符,将false转换成true。
2.boolean isFile判断是否是一个文件,是返回true,不是返回false。
3.boolean isDirectory判断是否为文件夹,是就返回true,不是就返回false。
4.String getName返回文件的名称
5.long length获得文件的长度(字节数)。
6.boolean creatNewFile创建新的文档,成功就返回true,否则返回false,有可能抛出IOException异常,必须捕捉
7.boolean mkdir,创建一个新的文件夹。
8.boolean delete删除文件,删除成功返回true,否则返回false。
9.public String[] list将目录即文件的名字,返回到String数组中。
10.public File[] listFiles将文件夹的子文件夹和文件返回到File数组中。 //他们都只能返回下一级的文件,想要全部返回只能使用递归。
isDirectory判断是不是一个文件夹。
exists判断文件是否存在
list返回给定目录的所有的子集。返回String类型的数组。但是只能往下找一级。想要接着往下找还需要一些力气和手段。
输入及输出的概念
把电脑硬盘上的数据读到程序中,称为输入,即input,进行数据的read操作,从程序往外部设备写数据,称为输出,即output,进行数据的write操作。

输入和输出的标准是对于程序来说的,进入到程序内叫输入,从程序中出去叫输出。
流的分类
在java语言中提供了许多可以进行读和写操作的类,我们把这些类叫做流。
从数据流编码格式上划分为:
字节流(byte)
字符流(char)
他们的区别就是:字符流读取时以字符为单位,读取txt和java这种纯文本文档,因为字符流在进行转换的时候会对文件中的字节转换成字符。而字节流可以读取任意文件。
流按照数据的传输方向分为:
输入流:往程序中读叫输入流。
输出流:从程序中文往外写叫输入流。
字节流
InputStream和OutputStream的子类都是字节流,可以读写二进制文件,主要处理音频,图片,歌曲,字节流处理单元为1个字节。
字节流中常用类:
字节输入流 FileInputSteam
字节输出流 FileOutputStream
InputStream的基本方法:
int read()读取一个字节并以整数的形式返回(0~255)。如果返回-1就表明已经到输入流的末尾
int read(byte[] buffer) 读取一系列字节并存储到一个数组buffer,返回实际读取的字节数,如果读取前已经到输入流的末尾则返回-1
void close()关闭流释放内存资源
OutputStream的基本方法:
void write (int b)向输入流中写入一个字节数据,该字节数据为参数b的低8位。
void write (byte[] b,int off, int len)将一个字节类型的数组中的从指定位置开始的len个字节写入到输出流。
void close()关闭流释放内存资源。
字符流
Reader和Writer的子列都是字符流,只要处理字符或者字符串,字符流处理单元为一个字符。字节流将读取到的字节数据,去指定的编码白哦中获取对应文字字符。
字符流只能读取纯文本文件
字符流中常用类:
字符输入流:FileReader
字符输出流:FileWriter
Reader的基本方法
int read()读取一个字符并以整数的形式返回,如果返回-1已经到输入流的末尾
int read(char[] cbuf) 读取一系列字符并存储到一个数组buffer,返回实际读取的字符数,如果读取前已到输入流的末尾,返回-1
void close() 关闭
Writer的基本方法
void write(int c)向输出流中写入一个字符数据,该字节数据为参数b的16位。
void write (char[] cbuf, int off set, int length)将一个字符类型的数组中的从指定位置开始的length个字符写入到输出流。
void close()关闭
节点流与处理流
根据封装类型不同流又分为
节点流,处理流
节点流:
如果流封装的是如文件,字符串,字符串数组等,则称为节点流
处理流:
如果封装流装的是其他流对象,称为处理流。处理流提供了额外功能
处理流中常用类
缓冲字节输出流 BufferedOutputStream
缓冲字节输入流 BufferedInputStream
数据输出流 DataOutputStream
数据输入流 DataInputStream
缓冲字符输出流 BufferedWriter
缓冲字符输入流 BufferedReader
对象序列化--反序列化
对象的寿命通常随着生成该对象的程序的终止而终止。 有时候,可能需要
将对象的状态保存下来,在需要时再将对象进行恢复。
对象的输入输出流 :
主要的作用是用于写入对象信息与读取对象信息。 对象信息 一旦写到文件
上那么对象的信息就可以做到持久化了.
对象的输出流:ObjectOutputStream
对象的输入流:ObjectInputStream
在ObjectInputStream 中用readObject()方法可以直接读取一个对象,
ObjectOutputStream中用writeObject()方法可以直接将对象保存到输出
流中。