InvertCopy

来源:互联网 发布:悔创阿里杰克马 知乎 编辑:程序博客网 时间:2024/06/04 18:12
/** * Use a BufferedReader and a BufferedWriter to * copy a text file, inverting the case of letters * in the process. *  * To use this program, specify the name of the * source file and the destination file. * For example, to copy a file called test.txt to a file called * test.inv, use the following command line: *  *     java InvertCopy test.txt test.inv *  */package FileIO;import java.io.*;/** * @author Administrator * */public class InvertCopy {/** * @param args */public static void main(String[] args) {BufferedReader br;BufferedWriter bw;// First make sure that both files have been specified.if (2 != args.length) {System.out.println("Usage: InvertCopy From To");return ;}// Open a FileReader that is wrapped in a BufferedReader.try {br = new BufferedReader(new FileReader(args[0]));} catch (FileNotFoundException exc) {System.out.println("Input File Not Found");return ;}// Open a FileWriter that is wrapped in a BufferedWriter.try {bw = new BufferedWriter(new FileWriter(args[1]));} catch (IOException excW) {System.out.println("Error Opening Output File");// Close the open input reader.try {br.close();} catch (IOException excR) {System.out.println("Error Closing Input File");}return ;}/** * Copy the file, inverting case in the process. * Because buffered streams are used, the * read and write operatings are automatically * buffered, which results in higher performance. */try {int i;do {i = br.read();if (-1 != i) {if (Character.isLowerCase((char)i))bw.write(Character.toUpperCase((char)i));else if (Character.isUpperCase((char)i))bw.write(Character.toLowerCase((char)i));elsebw.write((char)i);}} while (-1 != i);} catch (IOException exc) {System.out.println("File Error");}try {br.close();} catch (IOException exc) {System.out.println("Error Closing Input File");}try {bw.close();} catch (IOException exc) {System.out.println("Error Closing Output File");}}}

0 0
原创粉丝点击