java - Java 如何将二进制数据输出到文件?

标签 java binary-data

我正在尝试将数据写入二进制格式的文件以进行压缩。数据完全由浮点组成,所以我决定将数据量化为 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 中执行此操作?

最佳答案

也许这个片段会有所帮助。

 int i = 42;
 DataOutputStream os = new DataOutputStream(new FileOutputStream("C:\\binout.dat"));
 os.writeInt(i);
 os.close();

关于java - Java 如何将二进制数据输出到文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6981555/

相关文章:

java - 我应该这样做吗?

java - 如何使 J2ME 应用程序在后台运行?

c - 如何找到 .wav 文件的数据(样本)大小?

sql-server - SQL 中的二元运算符 OR?

scala - 在 Scala 的文件中有效地存储 Long 序列

java - 无法修改 SOAP WebService 客户端中的 http 接受 header - JAX-WS 2.2.10 - JDK1.7

java - 我们需要在同一台机器上安装 mahout 和 hadoop 吗?

java - Java中的正则表达式有什么问题

swift - 未知的 116 字节 ECDSA 私钥格式

mysql - mysqldump 是否可靠地处理二进制数据?