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

Replacing char which is different from specific values during reading file and writing to new file

我需要读取文本文件,替换特定值,例如(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');
        }