Java文件(io)编程——文件字符流的使用

案例1:

读取一个文件并写入到另一个文件中,char[] 来中转。

首先要在E盘下创建一个文本文档,命名为test.txt,输入一些字符串。

 1 public class Demo_5 {
 2 
 3     public static void main(String[] args) {
 4     
 5         FileReader fr=null;                       //文件取出字符流对象(输入流)    
 6         FileWriter fw=null;                       //写入到文件(输出流)
 7 
 8         try {
 9             fr=new FileReader("e:\\test.txt");    //创建一个fr对象    
10             fw=new FileWriter("d:\\test.txt");    //创建输出对象
11             
12             char []c=new char[1024];              //读入到内存
13             int n=0;                              //记录实际读取到的字符数
14             while((n=fr.read(c))!=-1){
15                 //String s=new String(c,0,n);
16                 fw.write(c,0,n);                   
17             }
18         } catch (Exception e) {
19             e.printStackTrace();
20         }finally{
21         
22             try {
23                 fr.close();
24                 fw.close();
25             } catch (Exception e) {
26                 e.printStackTrace();
27             }
28         }        
29     }
30 }

打开D盘的test.txt文件,出现相同的字符串。

案例2:为了提高效率引入了缓冲字符流

依然实现读取一个文件并写入到另一个文件中,直接操作String。

 1 public class Demo_6 {
 2 
 3     public static void main(String[] args) {
 4 
 5         BufferedReader br=null;
 6         BufferedWriter bw=null;
 7         
 8         try{        
 9             FileReader fr=new FileReader("e:\\test.txt");   //先创建FileReader对象
10             br=new BufferedReader(fr);
11 
12             FileWriter fw=new FileWriter("d:\\test1.txt");  //创建FileWriter对象
13             bw=new BufferedWriter(fw);
14             
15             String s="";
16             while((s=br.readLine())!=null){                 //循环读取文件,s不为空即还未读完毕     
17                 bw.write(s+"\r\n");                         //输出到磁盘,加上“\r\n”为了实现换行
18             } 
19         }catch(Exception e){
20             e.printStackTrace();
21         }finally{    
22             
23             try {
24                 br.close();
25                 bw.close();
26             } catch (Exception e) {
27                 e.printStackTrace();
28             }
29         }
30     }
31 }

打开D盘的test1.txt文件,出现相同的字符串。

总结:字节流操作对象byte,字符流操作对象char,缓冲字符流操作对象String。

 

转载于:https://www.cnblogs.com/cxq1126/p/7345705.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值