【发布时间】:2011-08-08 11:40:08
【问题描述】:
我正在尝试将数据以二进制格式写入文件以进行压缩。数据完全由浮点组成,因此我决定将数据量化为 0 到 65535 之间的整数,以便可以将数据写入两位无符号整数并最终节省空间。但是,我需要将该量化数据输出到二进制文件,而不是人类可读的 Ascii。
这就是我现在正在做的事情
@param outputFile 包含已量化数据的文件,作为 .txt 文件中的字符串
public void generateBinaryRioFile(String materialLibrary,
String outputFile, String group, String mtlAux) {
try {
// Create file
FileWriter fileStream = new FileWriter(outputFile);
try {
BufferedReader br = new BufferedReader(new FileReader(new File(
"idx.txt")));
while ((line = br.readLine()) != null) {
writer.write(line + "\n");
}
try {
br.close();
} catch (FileNotFoundException e) {
e.getMessage();
} catch (IOException e) {
e.printStackTrace();
} BufferedWriter writer = new BufferedWriter(fileStream);
但是,它以人类可读字符串的形式写入文件。我需要把它写成二进制数据。在 Java 中如何做到这一点?
【问题讨论】:
-
你背后的动机是什么?
-
显示一些你到目前为止所做的代码,以便我可以帮助你
-
@Kit Ho 我的老板告诉我这样做的动机是为了节省文件空间,所以与其将多个 ascii 字符写入文件会增加文件大小,不如将其写入二进制文件以节省空间.该文件将通过互联网发送,数据将用于在 webgl 中生成 3d 模型。我们希望模型尽快加载
-
@Talha Ahmed Khan 我刚刚用一些代码更新了它
-
我猜你得到了你的答案,如果不是你想要的,请告诉我
标签: java binary-data