题目要求
在某一文件夹下有一个文本文件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();
      }
  }

运行结果:

 posted on 2020-05-16 17:24  魂蛋  阅读(283)  评论(0编辑  收藏  举报