如何将字节数组作为字节写入文件

时间:2013-06-11 05:09:17

标签: java file

我想将字节数组作为字节写入文件。 例如byt[] ="hello".getBytes(); 我想将字节写入文件,这样我将内容视为字节,而不是“hello”。 我怎么能这样做?

4 个答案:

答案 0 :(得分:3)

答案 1 :(得分:2)

FileOutputStream fos = new FileOutputStream(strFilePath);
String strContent = "hello";
fos.write(strContent.getBytes());

答案 2 :(得分:0)

考虑以下方法

public static void writeByteCodeToFile(){
    String hello = "Hello";
    byte[] getByte = hello.getBytes();
    System.out.println(getByte); // output>>>[B@1df073d
    try {
        FileOutputStream fos = new FileOutputStream("D:\\Test.txt");
        try {
            fos.write(getByte);
        } catch (IOException e) {
            e.printStackTrace();
        }

    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }
}

输入Test.txt包含“Hello”,而我们可以看到控制台输出为[B @ 1df073d。原因是文本编辑器可以将字节代码呈现为文本。

答案 3 :(得分:0)

这里有很多答案,而且所有答案中都缺少一个非常重要的东西。

请勿使用String.getBytes()

始终使用String.getBytes(Charset)

未知(默认)charset是文件操作中所有(大多数情况下)邪恶的来源。

如果你不知道使用哪个字符集,只需使用UTF-8并拨打FileOutputStream.write(aString.getBytes(Charset.forName("UTF-8")));

您还可以定义要在整个应用程序中使用的字符集,以便将来可以轻松修改。

class CharsetSettings {
  static final String fileOperationsCharset = Charset.forName("UTF-8");
}