/**
* Use buffered streams to copy a file.
*
* To use this program, specify the name
* of the source file and the destination file.
* For example, to copy a file called sample.dat
* to a file called sample.bak, use the following
* command line:
* java BufferedFileCopy sample.dat sample.bak
*
*/
package FileIO;
import java.io.*;
/**
* @author Administrator
*
*/
public class BufferedFileCopy {
/**
* @param args
*/
public static void main(String[] args) {
BufferedInputStream fin;
BufferedOutputStream fout;
// First make sure that both files have been specified.
if (2 != args.length) {
System.out.println("Usage: BufferedFileCopy From To");
return ;
}
// Open an input file that is wrapped in a BufferedInputStream.
try {
fin = new BufferedInputStream(new FileInputStream(args[0]));
} catch (FileNotFoundException exc) {
System.out.println("Input File Not Found");
return ;
}
// Open an output file that is wrapped in a BufferedOutputStream.
try {
fout = new BufferedOutputStream(new FileOutputStream(args[1]));
} catch (FileNotFoundException exc) {
System.out.println("Error Opening Output File");
// Close the open input file.
try {
fin.close();
} catch (IOException excIO) {
System.out.println("Error Closing Input File");
}
return ;
}
/**
* Copy the file.
* Because buffered stream are used, the
* read and write operations are automatically
* buffered, which results in higher performance.
*/
try {
int i;
do {
i = fin.read();
if (-1 != i)
fout.write(i);
} while (-1 != i);
} catch (IOException exc) {
System.out.println("File Error");
}
try {
fin.close();
} catch (IOException exc) {
System.out.println("Error Closing Input File");
}
try {
fout.close();
} catch (IOException exc) {
System.out.println("Error Closing Output File");
}
}
}
BufferedFileCopy
最新推荐文章于 2023-04-17 21:16:02 发布