zoukankan      html  css  js  c++  java
  • 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+"
    ");                         //输出到磁盘,加上“
    ”为了实现换行
    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。

  • 相关阅读:
    ajax traditional
    阿里云OSS NET SDK 引用示范程序
    js对象的两种写法
    BZOJ NOIP提高组十连测第一场
    ikbc 时光机 F87 Ctrl 失灵 解决办法
    【读书笔记】阅读的危险
    51nod 1118 机器人走方格 解题思路:动态规划 & 1119 机器人走方格 V2 解题思路:根据杨辉三角转化问题为组合数和求逆元问题
    【算法】求逆元模板
    【复习资料】软件工程之快速原型模型
    VirtualBox安装linux mint教程
  • 原文地址:https://www.cnblogs.com/cxq1126/p/7345705.html
Copyright © 2011-2022 走看看