字节流
文件字节输入流:FileInputStream
构造器 | 说明 |
public FileInputStream (File file) | 创建字节输入流管道与源文件对象接通 |
public FileInputStream (String pathname) | 创建字节输入流管道与源文件路径接通 |
FileInputStream fis = new FileInputStream(new File("day12\\cz.txt"));
方法 | 说明 |
public int read() | 每次读取一个字节返回,如果字节已经没有可读的返回-1 |
public int read(byte[] buffer) | 每次读取一个字节数组返回,如果字节已经没有可读的返回-1 |
public byte[] readAllBytes() throws IOException | 直接将当前字节输入流对应的文件对象的字节数据装到一个字节数组返回 |
close() |
文件字节输出流:FileOutputStream
构造器 | 说明 |
public FileOutputStream (File file) | 创建字节输出流管道与源文件对象接通 |
public FileOutputStream (File file,boolean append) | 创建字节输出流管道与源文件对象接通,可追加数据 |
public FileOutputStream (String filepath) | 创建字节输出流管道与源文件路径接通 |
public FileOutputStream(String filepath,boolean append) | 创建字节输出流管道与源文件路径接通,可追加数据 |
FileOutputStream fos = new FileOutputStream(new File("day12\\dzz.txt"));
方法 | 说明 |
public void write(int a) | 写一个字节出去 |
public void write (byte[] buffer) | 写一个字节数组出去 |
public void write(byte[] buffer , int pos , int len) | 写一个字节数组的一部分出去 |
flush() | 刷新流,还可以继续写数据 |
close() | 关闭流,释放资源,但是在关闭之前会先刷新流。一旦关闭,就不能再写数据 |
字符流
文件字符输入流:FileReader
构造器 | 说明 |
public FileReader(File file) | 创建字符输入流管道与源文件对象接通 |
public FileReader (String pathname) | 创建字符输入流管道与源文件路径接通 |
FileReader fr = new FileReader("day12\\f1.txt");
方法 | 说明 |
public int read() | 每次读取一个字符返回,如果字符已经没有可读的返回-1 |
public int read(char[] buffer) | 每次读取一个字符数组,返回读取的字符个数,如果字符已经没有可读的返回-1 |
文件字符输出流:FileWriter
构造器 | 说明 |
public FileWriter(File file) | 创建字符输出流管道与源文件对象接通 |
public FileWriter (File file,boolean append) | 创建字符输出流管道与源文件对象接通,可追加数据 |
public FileWriter (String filepath) | 创建字符输出流管道与源文件路径接通 |
public FileWriter(String filepath,boolean append) | 创建字符输出流管道与源文件路径接通,可追加数据 |
FileWriter fw = new FileWriter("day12\\f2.txt",true);
方法 | 说明 |
void write(int c) | 写一个字符 |
void write(char[] cbuf) | 写入一个字符数组 |
void write(char[] cbuf, int off,int len) | 写入字符数组的一部分 |
void write(String str) | 写一个字符串 |
void write(String str, int off,int len) | 写一个字符串的一部分 |
void write(int c) | 写一个字符 |
flush() | 刷新流,还可以继续写数据 |
close() | 关闭流,释放资源,但是在关闭之前会先刷新流,一旦关闭,就不能再写数据 |
字节缓冲流
字节缓冲输入流:BufferedInputStream
构造器 | 说明 |
public BufferedInputStream (InputStream is) | 可以把低级的字节输入流包装成一个高级的缓冲字节输入流管道,从而提高字节输入流读数据的性能 |
BufferedInputStream bis = new BufferedInputStream
(new FileInputStream("day12\\f1.txt"));
字节缓冲输出流:BufferedOutputStream
构造器 | 说明 |
public BufferedOutputStream (OutputStream os) | 可以把低级的字节输出流包装成一个高级的缓冲字节输出流,从而提高写数据的性能 |
BufferedOutputStream bos = new BufferedOutputStream
(new FileOutputStream("day12\\f2.txt"));
字符缓冲流
字符缓冲输入流:BufferedReader
构造器 | 说明 |
public BufferedReader(Reader r) | 可以把低级的字符输入流包装成一个高级的缓冲字符输入流管道,从而提高字符输入流读数据的性能 |
BufferedReader br = new BufferedReader(new FileReader("day12\\f1.txt"));
方法 | 说明 |
public String readLine() | 读取一行数据返回,如果读取没有完毕,无行可读返回null |
字符缓冲输出流:BufferedWriter
构造器 | 说明 |
public BufferedWriter(Writer w) | 可以把低级的字符输出流包装成一个高级的缓冲字符输出流管道,从而提高字符输出流写数据的性能 |
BufferedWriter bw = new BufferedWriter(new FileWriter("day12\\f2.txt"));
方法 | 说明 |
public void newLine() | 换行操作 |
序列化对象
对象字节输入流:ObjectInputStream
构造器 | 说明 |
public ObjectInputStream (InputStream out) | 把低级字节输如流包装成高级的对象字节输入流 |
ObjectInputStream ois = new ObjectInputStream
(new FileInputStream("day12\\info.txt"));
方法 | 说明 |
public Object readObject() | 把存储到磁盘文件中去的对象数据恢复成内存中的对象返回 |
对象字节输出流:ObjectOutputStream
构造器 | 说明 |
public ObjectOutputStream (OutputStream out) | 把低级字节输出流包装成高级的对象字节输出流 |
ObjectOutputStream oos = new ObjectOutputStream
(new FileOutputStream("day12\\info.txt"));
方法 | 说明 |
public final void writeObject (Object obj) | 把对象写出去到对象序列化流的文件中去 |
字符转换流
字符输入转换流:InputStreamReader
构造器 | 说明 |
public InputStreamReader (InputStream is) | 可以把原始的字节流按照代码默认编码转换成字符输入流。几乎不用 |
public InputStreamReader (InputStream is,String charset) | 可以把原始的字节流按照指定编码转换成字符输入流,这样字符流中的字符就不乱码了(重点) |
InputStreamReader isr = new InputStreamReader
(new FileInputStream("day12\\f1_gbk.txt"), "GBK");
字符输出转换流:OutputStreamWriter
构造器 | 说明 |
public OutputStreamWriter (OutputStream os) | 可以把原始的字节输出流按照代码默认编码转换成字符输出流。几乎不用。 |
public OutputStreamWriter (OutputStream os, String charset) | 可以把原始的字节输出流按照指定编码转换成字符输出流(重点) |
OutputStreamWriter osw = new OutputStreamWriter
(new FileOutputStream("day12\\f2_utf.txt"), "UTF-8");
打印流
字节打印流:PrintStream
构造器 | 说明 |
public PrintStream (OutputStream os) | 打印流直接通向字节输出流管道 |
public PrintStream(File f) | 打印流直接通向文件对象 |
public PrintStream (String filepath) | 打印流直接通向文件路径 |
PrintStream ps = new PrintStream("day12\\f1.txt");
方法 | 说明 |
public void print(Xxx xx) | 打印任意类型的数据出去 |
字符打印流:PrintWriter
构造器 | 说明 |
public PrintWriter(OutputStream os) | 打印流直接通向字节输出流管道 |
public PrintWriter (Writer w) | 打印流直接通向字符输出流管道 |
public PrintWriter (File f) | 打印流直接通向文件对象 |
public PrintWriter (String filepath) | 打印流直接通向文件路径 |
PrintWriter pw = new PrintWriter("day12\\f2.txt");
方法 | 说明 |
public void print(Xxx xx) | 打印任意类型的数据出去 |
commons-io
方法 | 说明 |
String readFileToString (File file, String encoding) | 读取文件中的数据, 返回字符串 |
void copyFile (File srcFile, File destFile) | 复制文件 |
void copyDirectoryToDirectory (File srcDir, File destDir) | 复制文件夹 |