我正在尝试读入一个文件,然后写出到一个新文件,从而在新的输出文件中将输入文本文件中的大写字符更改为小写。该文件将在没有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();
}
}
您的脚本中有几个问题:
怎么样:
File file1 = new File("intext.txt");
File file2 = new File("outtext.txt");
BufferedReader in = (new BufferedReader(new FileReader(file1)));
PrintWriter out = (new PrintWriter(new FileWriter(file2)));
int ch;
while ((ch = in.read()) != -1) {
if (Character.isUpperCase(ch)) {
ch = Character.toLowerCase(ch);
}
out.write(ch);
}
in.close();
out.close();