实例分析:例1:从第一个命令行参数代表的文件中读字符,然后写入第二个参数代表的文件
2912 点击·0 回帖
![]() | ![]() | |
![]() | 问题分析 本题中需要从文件读,写数据,需要使用到与文件有关的流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 | |
![]() | ![]() |