IO流API

字节流

文件字节输入流: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 fileboolean append)

创建字节输出流管道与源文件对象接通,可追加数据

public FileOutputStream​

(String filepath)

创建字节输出流管道与源文件路径接通

public FileOutputStream​(String

filepathboolean 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 fileboolean append)

创建字符输出流管道与源文件对象接通,可追加数据

public FileWriter​

(String filepath)

创建字符输出流管道与源文件路径接通

public FileWriter​(String

filepathboolean 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)

复制文件夹

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值