我试图将长整数转换为字节,因为我想以秒为单位在文件中写入时间戳。
Belwo是我用来将long转换为bytes []以及将它们写入文件的方法。

我从以下行得到什么:

bos.write( ( CSysUtils.longToBytes(CSysUtils.getTSMilli()) ) );


是不可读的代码/格式:

码:

public static long getTSSec() {
    Log.w(TAG, CSubTag.bullet("getTSSec"));

    return System.currentTimeMillis()/1000;
}

public static byte[] longToBytes(long l) {
    byte[] result = new byte[8];
    for (int i = 7; i >= 0; i--) {
        result[i] = (byte)(l & 0xFF);
        l >>= 8;
    }
    return result;
}


写入文件:

fos = new FileOutputStream(file, true);
bos = new BufferedOutputStream(fos);

bos.write( ( CSysUtils.longToBytes(CSysUtils.getTSSec()) ) );

最佳答案

您不能这样做?:

bos.write(Long.toString(CSysUtils.getTSSec()).getBytes());


这样,毫秒数就可以在输出文件中读取。

那是你需要的吗?

10-08 20:08