IO流小结

## 字节流复制 (任何文件)

### 字节流一次复制一个字节

```java
//字节输入流
FileInputStream fis=new FileInputStream("day09/a.txt");
//字节输出流
FileOutputStream fos=new FileOutputStream("day09/b.txt");

//一边读一边写
int b; //记录每次读取的一个字节
while((b=fis.read())!=-1){
  fos.write(b);
}

//释放资源
fos.close();
fis.close();

字节流一次复制多个字节

//字节输入流
FileInputStream fis=new FileInputStream("day09/a.txt");
//字节输出流
FileOutputStream fos=new FileOutputStream("day09/b.txt");

//一边读一边写
byte[] bs=new byte[1024];
int len; //记录每次读取的有效字节个数
while((len=fis.read(bs))!=-1){
  fos.write(bs,0,len);
}

//释放资源
fos.close();
fis.close();

字节缓冲流复制 (任何文件)

字节缓冲流一次复制一个字节

//字节输入流
InputStream fis=new BufferedInputStream(new FileInputStream("day09/a.txt"));
//字节输出流
OutputStream fos=new BufferedOutputStream(new FileOutputStream("day09/b.txt"));

//一边读一边写
int b; //记录每次读取的一个字节
while((b=fis.read())!=-1){
  fos.write(b);
}

//释放资源
fos.close();
fis.close();

字节缓冲流一次复制多个字节

//字节输入流
InputStream fis=new BufferedInputStream(new FileInputStream("day09/a.txt"));
//字节输出流
OutputStream fos=new BufferedOutputStream(new FileOutputStream("day09/b.txt"));

//一边读一边写
byte[] bs=new byte[1024];
int len; //记录每次读取的有效字节个数
while((len=fis.read(bs))!=-1){
  fos.write(bs,0,len);
}

//释放资源
fos.close();
fis.close();

字符流复制(文本文件)

字符流一次复制一个字符

//读取a.txt文件的字符流
Reader r=new FileReader("day09/a.txt");
//写入b.txt文件的字符流
Writer w=new FileWriter("day09/b.txt");

//一边读一边写
int ch; //记录每次读取到的一个字符
while((ch=r.read())!=-1){
  //把读取到的一个字符写入文件中
  w.write(ch);
}

//释放资源
w.close();
r.close();

字符流一次复制多个字符

//读取a.txt文件的字符流
Reader r=new FileReader("day09/a.txt");
//写入b.txt文件的字符流
Writer w=new FileWriter("day09/b.txt");

//一边读一边写
char[] chs=new char[1024];
int len; //记录每次读取到的有效字符个数
while((len=r.read(chs))!=-1){
  //把读取到的一个字符写入文件中
  w.write(chs,0,len);
}

//释放资源
w.close();
r.close();

字符缓冲流复制(文本文件)

字符缓冲流一次复制一个字符

//读取a.txt文件的字符流
Reader r=new BufferedReader(new FileReader("day09/a.txt"));
//写入b.txt文件的字符流
Writer w=new BufferedWriter(new FileWriter("day09/b.txt"));

//一边读一边写
int ch; //记录每次读取到的一个字符
while((ch=r.read())!=-1){
  //把读取到的一个字符写入文件中
  w.write(ch);
}

//释放资源
w.close();
r.close();

字符缓冲流一次复制多个字符

//读取a.txt文件的字符流
Reader r=new BufferedReader(new FileReader("day09/a.txt"))
//写入b.txt文件的字符流
Writer w=new BuferedWriter(new FileWriter("day09/b.txt"))

//一边读一边写
char[] chs=new char[1024];
int len; //记录每次读取到的有效字符个数
while((len=r.read(chs))!=-1){
  //把读取到的一个字符写入文件中
  w.write(chs,0,len);
}

//释放资源
w.close();
r.close(); 

字符缓冲流一次复制一行

BufferedReader br=new BufferedReader(new FileReader("day09/a.txt"));
BufferedWriter bw=new BufferedWriter(new FileWriter("day09/b.txt"));

String line=null;
//每次读取一行
while ((line=br.readLine())!=null){
  bw.write(line);
  bw.newLine(); //写换行
}

//释放资源
bw.close();
br.close(); 

字符转换流复制(文本文件)

字符转换流一次复制一个字符

//按照指定的UTF-8编码来读取a.txt文件
Reader r=new InputStreamReader(new FileInputStream("day09/a.txt"),"UTF-8");
//按照指定的GBK编码来写入b.txt文件
Writer w=new OutputStreamWriter(new FileOutputStream("day09/b.txt"),"GBK");

//一边读一边写
int ch; //记录每次读取到的一个字符
while((ch=r.read())!=-1){
  w.write(ch);
}

//释放资源
w.close();
r.close();

字符转换流一次复制多个字符

//按照指定的UTF-8编码来读取a.txt文件
Reader r=new InputStreamReader(new FileInputStream("day09/a.txt"),"UTF-8");
//按照指定的GBK编码来写入b.txt文件
Writer w=new OutputStreamWriter(new FileOutputStream("day09/b.txt"),"GBK");

//一边读一边写
char[] chs=new char[1024];
int len; //记录每次读取到的有效字符个数
while((len=r.read(chs))!=-1){
  //把有效的字符写入文件中
  w.write(chs,0,len);
}

//释放资源
w.close();
r.close();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值