我想将字节数组作为字节写入文件。
例如byt[] ="hello".getBytes();
我想将字节写入文件,这样我将内容视为字节,而不是“hello”。
我怎么能这样做?
答案 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");
}