java - 从 arraylist 输出到文件不起作用 - java

标签 java arrays file output

我正在尝试创建一个程序,将一堆整数从数组列表输出到文件,但是我得到的只是 .dat 文件中的一堆问号。谁能看出我的问题是什么?

   BufferedWriter writer = null;
            try {
                writer = new BufferedWriter(new FileWriter("energy.dat"));
                for(int x = 0; x< energy.size(); x++){
                writer.write(energy.get(x));
                }
            } catch (IOException e) {
                System.err.println(e);
            } finally {
                if (writer != null) {
                    try {
                        writer.close();
                    } catch (IOException e) {
                        System.err.println(e);
                    }
                }
            }

最佳答案

假设energyList<Integer>您正在调用 BufferedWriter.write(int) 。此方法不是编写数字的文本表示形式。写1你必须像这样调用 write: writer.write((int)'1') 。这与 writer.write(1) 不同。 。

替换

writer.write(energy.get(x));

String s = String.valueOf(energy.get(x));
writer.write(s, 0, s.length();

关于java - 从 arraylist 输出到文件不起作用 - java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20272065/

相关文章:

java - 在没有警告的情况下构造 ImmutableSortedSet

java - 如何将编译后的类名与 Java 中的枚举成员匹配?

arrays - 在数组内的自定义对象中搜索字典

c# - File.ReadLines 在每个字符之后返回空字符

ruby-on-rails - 来自 csv.read 模拟文件的 rspec 测试结果

java - 如何在xml中写入超过30MB的数据?

java - 降低相对/规范路径的复杂性? (如何消除 ".."?)

javascript - 在 Json 中搜索过滤器

arrays - 字符串中的双引号(转义字符)(格式 : ) in swift

c - 使用 C 识别等差