java - 在 Java 中将 long(原始类型)写入文件

标签 java file long-integer

大家好,

我有一个 long 数组,我想将其写入 .txt 文件,稍后可以在 gedit 中打开该文件(每行一个数字)。我通过使用 System.currentTimeMillis() 的两个实例相减来获得这些值。

我使用以下代码:

BufferedWriter out = new BufferedWriter(new FileWriter("latency.txt"));
for (int i = 0; i < USER_LIMIT; ++i) {
    out.write(latency[i] + "\n");
}
out.close();

当查看文件时,我确实看到:

0
1
1
0

我相信字符串连接将长整型转换为整数。如果我使用 DataOutputStream,那么我无法使用 gedit 或任何记事本/文本编辑器读回它,它看起来就像垃圾(我相信它正在写入字节)。

有人可以告诉我如何解决我的问题吗?

非常感谢!

最佳答案

你的代码没有任何问题。您所认为的延迟...事实并非如此。

public static void main(String[] args) throws IOException
{
    long[] latency = { 123456789000L, 234567890000L, 345678901000L };

    BufferedWriter out = new BufferedWriter(new FileWriter("latency.txt"));
    for (int i = 0; i < 3; ++i) {
        out.write(latency[i] + "\n");
    }
    out.close();
}

产生:

$ more latency.txt 
123456789000
234567890000
345678901000

当您遇到这样的代码问题时,编写一个小测试用例来缩小问题范围通常很有帮助。

关于java - 在 Java 中将 long(原始类型)写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7409953/

相关文章:

c++ - 在 C++ 中使用 std::vector 访问元素(get 和 put)

java - 为什么我收到 .format 错误? JAVA文件

file - HDFS 文件何时可见

java - 使用可选单词验证重复的精确匹配模式

没有 SecurityManager 的 Java RMI

java - 部署java webservice时出错

java - 如何将字符串 23323.00 转换为长整型

java - 找出与给定行号匹配的信息的最佳方法是什么

java - 如何设置 Java long 中的*任意*位,即使位位置 > 30

reshape 数据框 - 更改列和行