IO流 filewriter filereader BufferedWriter和BufferedReader 复制文件案例
IO流是用来处理设备之间的数据传输:文件复制(U盘拷贝),上传文件(社交论坛图片附件上传),下载文件(迅雷)等等。
-
FileWirter写数据
public class FileWriter
extends OutputStreamWriter用来写入字符文件的便捷类。此类的构造方法假定默认字符编码和默认字节缓冲区大小都是可接受的。要自己指定这些值,可以先在 FileOutputStream 上构造一个 OutputStreamWriter。
文件是否可用或是否可以被创建取决于底层平台。特别是某些平台一次只允许一个 FileWriter(或其他文件写入对象)打开文件进行写入。在这种情况下,如果所涉及的文件已经打开,则此类中的构造方法将失败。
FileWriter
用于写入字符流。要写入原始字节流,请考虑使用FileOutputStream
。构造方法
FileWriter(String fileName) 传递一个文件名称
成员方法
void write(String str) 往文件中写入一个字符串。
void flush() 刷新该流的缓冲,把内存缓冲区中的数据刷新到文件中。
void close() 关闭此流,但要先刷新它。
-
路径:
相对路径:相对当前项目而言的,在项目的根目录下(a.txt)
绝对路径:以盘符开始的路径(d:\\a.txt)
FileReader读数据
构造方法
FileReader(String fileName) 传递要读取的文件名称
成员方法
int read() 读取单个字符并返回
int read(char[] cbuf) 一次读取一个字符数组的数据,返回的是实际读取的字符个数
- 复制文本文件,一次读写一个字符数组
- 字符缓冲流:BufferedWriter和BufferedReader
BufferedWriter:将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
BufferedReader:从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。
方法使用:
BufferedWriter
void newLine():写一个换行符,这个换行符由系统决定
BufferedReader
String readLine():一次读取一行数据,但是不读取换行符//String 类型接收
复制文本文件