灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2081回复:0

实例分析:例1:从第一个命令行参数代表的文件中读字符,然后写入第二个参数代表的文件

楼主#
更多 发布于:2012-09-08 09:36


问题分析
本题中需要从文件读,写数据,需要使用到与文件有关的流FileReader/FileWriter。
可以通过运行时参数提供文件的名称。
使用带有Buffer功能的流
为了提高读写数据的效率,可以使用带有buffer功能的流完成文件读写,并且可以以行为单位读写数据。
使用类BufferedReader,BufferedWriter
I/O流的链
在程序中很少使用单独一个流对象,实际做法是将几个流对象串联起来处共同理数据。这样做会提高程序的效率。www.atcpu.com
数据源-> FileInputStream -> BufferedInputStream -> DataInputStream -> 程序
数据源<- DataOutputStream <- BufferedOutputStream <- FileOutputStream <-程序
编写代码
[java]
import java.io.*;
public class TestBufferedStreams {
    public static void main(String[] args) {
        try {
            FileReader input = new FileReader(args[0]);
            BufferedReader bufInput = new BufferedReader(input);
            FileWriter output = new FileWriter(args[1]);
            BufferedWriter bufOutput = new BufferedWriter(output);
            String line = bufInput.readLine();

            while (line != null) {
                bufOutput.write(line, 0, line.length());
                bufOutput.newLine();
                line = bufInput.readLine();
            }

            bufInput.close();
            bufOutput.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
import java.io.*;
public class TestBufferedStreams {
public static void main(String[] args) {
  try {
   FileReader input = new FileReader(args[0]);
   BufferedReader bufInput = new BufferedReader(input);
   FileWriter output = new FileWriter(args[1]);
   BufferedWriter bufOutput = new BufferedWriter(output);
   String line = bufInput.readLine();
   while (line != null) {
    bufOutput.write(line, 0, line.length());
    bufOutput.newLine();
    line = bufInput.readLine();
   }
   bufInput.close();
   bufOutput.close();
  } catch (IOException e) {
   e.printStackTrace();
  }
}
}
编译运行
javac TestBufferedStreams.java
java TestBufferedStreams user.bat userbak.bat


喜欢0 评分0
游客

返回顶部