将字符串写入二进制文件 java

Writing Strings to a binary file java

我有一个对象列表,其中包含一些简单的字符串属性。我希望能够将这些字符串保存为二进制文件,这样当您在程序外部打开文件时,您只会看到 1 和 0。

我已经设法使用 FileOutputStream 并保存了字符串,但是,我无法设法让它写入二进制文件。该文件读取为清晰可读的文本。我试过了 getBytes().

最好的方法是什么?请记住,我希望稍后能够读取文件并构造回对象。使用 Serializable 并保存对象列表会更好吗?

这是我的 FileWriter:

注意: toString() 是自定义的,returns 每个 属性.

都有换行符的字符串
public class FileWriter {

    public void write(String fileName, Savable objectToSave ) throws IOException {

        File fileToSave = new File(fileName);

        String stringToSave = objectToSave.toString();

        byte[] bytesToSave = stringToSave.getBytes(StandardCharsets.UTF_8) ;

        try (
                OutputStream outputStream = new FileOutputStream(fileToSave);
                ) {

            outputStream.write(bytesToSave);

        } catch (IOException e) {
            throw new IOException("error");
        }
    }

}

如果您的目标只是序列化,implementing Serializable and writing them would work, but your string is still going to be readable. You can encrypt 流,但反编译您的代码的任何人仍然可以设计一种读取值的方法。