gpt4 book ai didi

java - 读取文件和写入新文件时替换与特定值不同的字符

转载 作者:行者123 更新时间:2023-12-01 17:27:29 33 4
gpt4 key购买 nike

我需要读取文本文件,替换特定值,例如(a 代表 1,b 代表 2,c 代表 3),如果出现不同的情况,请将其交换为 ascii_to_char(char_to_ascii(value)+1)),然后将其写入另一个文件。我设法找到了如何处理 a、b、c 的解决方案,但我不知道如何处理不同的东西。这是我的代码

public void readAndWriteFromfile() throws IOException {
BufferedReader inputStream = new BufferedReader(new FileReader(testFile));
File newFile = new File(newTestFile);
// if File doesnt exists, then create it
if (!newFile.exists()) {
newFile.createNewFile();
}
FileWriter filewriter = new FileWriter(newFile.getAbsoluteFile());
BufferedWriter outputStream = new BufferedWriter(filewriter);
String line;
while ((line = inputStream.readLine()) != null) {
outputStream.write(line.replaceAll("a", "1")
.replaceAll("b", "2")
.replaceAll("c", "3"));
}
outputStream.flush();
outputStream.close();
inputStream.close();
}

最佳答案

最好实现单独的方法来对字符进行编码,例如,如下所示:

    private char encode(char c) {
if (c >= 'a' && c <= 'c') {
return (char)('1' + c - 'a');
}
return (char) (c + 1);
}

并为输入文件中的每个字符调用它(换行符除外:)):

        String line;
while ((line = inputStream.readLine()) != null) {
char[] input = line.toCharArray();
for (int i = 0; i < input.length; i++) {
input[i] = encode(input[i]);
}
outputStream.write(input);
outputStream.append('\n');
}

关于java - 读取文件和写入新文件时替换与特定值不同的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61189975/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com