java - 从文件中读取数字,乘以2,写入文件(JAVA)

标签 java file stream

我有一个包含 10 行的文件,每行都有一个数字。我想读取这些行,将数字乘以 2,然后将结果写入另一个文件。这是我的代码,但我不起作用。我的代码:

public class CopyFile {

public static void main(String[] args) throws IOException {

    FileReader reader = null;
    FileWriter writer = null;
    try {
        reader = new FileReader("kopiere.txt"); //read from this file
        writer = new FileWriter("einfuegen.txt"); //write in this file
        int c;

        while ((c = reader.read()) != -1) {
            int i = Integer.parseInt(String.valueOf(c)); //convert content of line into int
            i = i*2; //multiply with 2
            writer.write(i); //write the result into the file "einfuegen.txt"

        }
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        if (writer != null) {
            writer.close();
        }
        if (reader != null) {
            reader.close();
        }
    }

}

}

文件的文件内容应该是2,4,6,8,10...,但是却是

bdfhjlnprb`

最佳答案

writer.write(i)将由所提供的 int 参数的低 16 位表示的字符写入流,而不是该整数的字符串表示形式。如果您想将该整数的字符串表示形式写入流,则需要首先转换为字符串表示形式。例如:

writer.write(Integer.toString(i));

关于java - 从文件中读取数字,乘以2,写入文件(JAVA),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48814595/

相关文章:

c++ - 读取访问冲突,错误代码 0xFFFFFFFFFFFFFFFF

c++ - Boost Spirit可以用来解析字节流数据吗?

bash - 在 Bash 中捕获 stdout 和 stderr

java - 为什么我不能在 Java 中对数组进行向下计数?

java - 插入数据库时​​出错 - 空字段

java - 如何从命令行在 Windows 上运行 .class 文件?

java - Android应用程序数据应该存储在哪里?我应该如何写入文件?

ruby - 如何关闭和删除 Ruby 中的文件?

java - 尝试执行 restclient 请求时找不到合适的 HttpMessageConverter

java - 使用 Single<Boolean> 进行过滤