【发布时间】:2017-08-17 00:30:24
【问题描述】:
我正在使用 Android 构建自定义文件创建器应用。我正在尝试将 Bytebuffer 的内容(我创建的自定义类中的 String 成员)写入字节类型的文件。但是,每当我这样做时,我都会以字符串格式获取文件的内容。我尝试了几种替代方法,例如使用 get 方法、BufferedOutputStream 类、ByteArrayOutputStream 类、DataOutputStream、Filechannel 类等。这是我的代码:
ByteBuffer byteBuffer = ByteBuffer.allocate(totalSize);
byteBuffer.put(hm.getDocID().getBytes());
byteBuffer.put(hm.getFextension().getBytes());
byteBuffer.put(hm.getMagic().getBytes());
byteBuffer.put(hm.getFversion().getBytes());
byteBuffer.put(hm.getFsize().getBytes());
byteBuffer.flip();
byte[] bablock = new byte[byteBuffer.remaining()];
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(idHeader));
bos.write(bablock);
bos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
继续在我的 idHeader 文件中获取以下内容:
12345678-1234-1234-1234-123456789abcjpgIDF1.00000166178
这是我所有的字符串连接起来的。我想做的是将与字节相同的内容写入文件,而不是作为人类可读的字符串。我在这里缺少什么?任何帮助表示赞赏。
【问题讨论】:
标签: java android arrays bytebuffer bytearrayoutputstream