题目要求
在某一文件夹下有一个文本文件demoA.txt,编码实现将此文件复制为demoB.txt,并将所有的大写字母换为小写字母,小写字符换为大写字母。
1,建立输入输出流,
改题目处理的内容特殊,所以建立字符流更适宜,后续处理也不用转换
2,利用asc码值给每一个字符转换
代码:
package test_report_7;
import java.io.*;
public class Demo {
public static void main(String[] args) throws IOException {
// 创建两个对象
File file = new File("D:\\eclipse\\javacode\\Origin.txt");
File file2 = new File("D:\\eclipse\\javacode\\Ending.txt");
// 构建输入、输出流
FileReader fis = new FileReader(file);
FileWriter fos = new FileWriter(file2, false);
char[] c1 = new char[1024];
int len1 = fis.read(c1);
System.out.println(new String(c1, 0, len1));// 输出源文件的内容
fos.write(c1);
fos.flush();
fos.close();// 切记要先关闭新文件夹,否则修改内容后不会覆盖之前的内容
int i;
for (i = 0; i < c1.length; i++) {
if (c1[i] >= 'a' && c1[i] <= 'z')
c1[i] -= 32;
else if (c1[i] >= 'A' && c1[i] <= 'Z')
c1[i] += 32;
}
System.out.println(new String(c1, 0, len1));
FileWriter fos2 = new FileWriter(file2, false);// 重新构建输出流,覆盖之前的内容(false)
fos2.write(c1);
fos2.flush();
fis.close();
fos2.close();
}
}
运行结果: