java - 读取文本文件,然后将大写转换为小写并写入文本文件

标签 java if-statement while-loop bufferedreader printwriter

我试图读入一个文件,然后写入一个新文件,从而将输入文本文件中的大写字符在新的输出文件中更改为小写。 该文件将在没有 if 循环的情况下正常读取和写入,然后当我尝试实现 if 循环来更改大小写时,输出文件将打印空白。任何帮助将不胜感激。

import java.io.*;

public class TextFile {
    public static void main (String[] args) throws IOException {
                File file1 = new File("intext.txt");
                File file2 = new File("outtext.txt"); 
                char CharCounter = 0;       
                BufferedReader in = (new BufferedReader(newFileReader(file1)));
                PrintWriter out = (new PrintWriter(new FileWriter(file2)));

                int ch;
                while ((ch = in.read()) != -1)

                    if (Character.isUpperCase(CharCounter)){
                        Character.toLowerCase(CharCounter);
                        out.write(ch);
                    }

                in.close();
                out.close();
    }       
}

最佳答案

您的 CharCounter 始终为 0,并且您的比较不正确,请尝试如下操作:

import java.io.*;

public class TextFile {
    public static void main (String[] args) throws IOException {
        File file1 = new File("intext.txt");
        File file2 = new File("outtext.txt"); 
        char CharCounter = 0;       
        BufferedReader in = (new BufferedReader(newFileReader(file1)));
        PrintWriter out = (new PrintWriter(new FileWriter(file2)));
        int ch;
        while ((ch = in.read()) != -1){
            if (Character.isUpperCase(ch)){
                Character.toLowerCase(ch);

            }
            out.write(ch);
        }
        in.close();
        out.close();
    }       
}

关于java - 读取文本文件,然后将大写转换为小写并写入文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20071366/

相关文章:

java - 如何将 JUnit 输出分配给字符串?

java - 如何在 Java 中克隆通用列表?

python - 如何在 python 3 中使用输入流?

java - 如何检查多个 "wrong" boolean 值是否为真?

c - 虽然循环不起作用

c - 为什么“while(!feof(file))”总是错误的?

Java Servlet - 将数据写入文件

Java - 读取器流中的动态字符串替换

c - 求给定整数的因数之和并将其除以给定整数

java - 范围为 int 的 switch 语句