1
Я пытаюсь преобразовать long в байты, потому что хочу записать временную метку в секундах в файле. Belwo являются метод которым я использую долго преобразовать байт [] и как я пишу их в файл ..convert long to byte [] возвращает нечитаемый формат
Что я получаю от следующей строки:
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())));
Что значит «нечитабельно»? Что вы не можете прочитать? Что ваш код не может прочитать его снова? –
используйте эти методы здесь http://stackoverflow.com/questions/4485128/how-do-i-convert-long-to-byte-and-back-in-java – thumbmunkeys
Не проще записать его в ascii как строку ? – Nanoc