使用Java将长(原始类型)写入文件

Jar*_*ary 2 java file long-integer

大家好,

我有一个很长的数组,我想写入.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();
Run Code Online (Sandbox Code Playgroud)

查看文件时,我看到:

0
1
1
0
Run Code Online (Sandbox Code Playgroud)

我相信字符串连接将long转换为整数.如果我使用DataOutputStream,那么我无法用gedit或任何记事本/文本编辑器读取它,它看起来像垃圾(我相信它写的是字节).

有人请让我知道如何解决我的问题吗?

非常感谢你!

Bri*_*ach 6

您的代码没有任何问题.你的想法是latency......不是.

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();
}
Run Code Online (Sandbox Code Playgroud)

生产:

$ more latency.txt 
123456789000
234567890000
345678901000
Run Code Online (Sandbox Code Playgroud)

当你遇到像这样的代码问题时,编写一个小的测试用例来缩小问题通常是有益的.