1.字节流
字节输入流
1.构造方法
FileInputStream(File file)
FileInputStream(String name)
2.常用方法
int read()
从此输入流中读取一个数据字节。
返回下一个数据字节;如果已到达文件末尾,则返回 -1。
int read(byte[] b)
读入缓冲区的字节总数,如果因为已经到达文件末尾而没有更多的数据,则返回 -1。
int read(byte[] b, int off, int len)
从此输入流中将最多 len 个字节的数据读入一个 byte 数组中。
读入缓冲区的字节总数,如果因为已经到达文件末尾而没有更多的数据,则返回 -1。
字节输出流
1.构造方法
FileOutputStream(File file)
FileOutputStream(String name)
FileOutputStream(File file, boolean append)
创建一个向指定 File 对象表示的文件中写入数据的文件输出流。
2.常用方法
void write(byte[] b)
将 b.length 个字节从指定 byte 数组写入此文件输出流中。
void write(byte[] b, int off, int len)
将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此文件输出流。
void write(int b)
将指定字节写入此文件输出流。
2.字符流
字符输入流
1.构造方法
FileReader(File file);
FileReader(Stirng path);
2.常用方法
int read()
返回: 读取的字符,如果已到达流的末尾,则返回-1
int read(char[] cbuf)
读取的字符数,如果已到达流的末尾,则返回-1
int read(char[] cbuf,int offset,int length)
读取的字符数,如果已到达流的末尾,则返回-1
字符输出流
1.构造方法
FileWrite(File file);
FileWrite(String path);
FileWrite(File file,boolean append);
2.常用方法
void write(byte[] b)
写入字符数组
void write(byte[] b, int off, int len)
写入字符数组的某一部分。
void write(int b)
将指定字符写入此文件输出流。
void write(String str)
将指定字符串写入此文件输出流。
3.转化流
字节转化为字符
输入字节流转化为输出字符流:
类:InputStreamReader
构造方法:InputStreamReader( InputStream in );
一般为:InputStreamReader(new FileInputStream()); (多态)
输出字节流转化为输出字符流:
类:OutputStreamReader
构造方法:OutputStreamReader( OutputStream out );
一般为:OutputStreamReader(new FileOutputStream()); (多态)
4.核心代码
// 准备流
FileReader fr = new FileReader(creatFile);
BufferedReader bfr = new BufferedReader(fr);
FileWriter fw = new FileWriter(creatFile2);
BufferedWriter bfw = new BufferedWriter(fw);
// 准备盆
char[] b = new char[1024];
int len = 0;
// 读写
while ((len = bfr.read(b)) != -1) {
bfw.write(b, 0, len);
bfw.flush();
}
// 关闭流
bfw.close();
bfr.close();
bfr.close();
bfw.close();