我想将字节数组作为字节写入文件。例如byt[] ="hello".getBytes();
,我想将字节写入文件,以便将内容视为字节,而不是“你好”。我怎样才能做到这一点?
问问题
208 次
4 回答
3
于 2013-06-11T05:10:50.077 回答
2
做
FileOutputStream fos = new FileOutputStream(strFilePath);
String strContent = "hello";
fos.write(strContent.getBytes());
于 2013-06-11T05:15:06.677 回答
0
这里有很多答案,但所有人都缺少一件非常重要的事情。
不要使用String.getBytes()
.
始终使用String.getBytes(Charset)
.
未知(默认)字符集是文件操作中所有(大多数情况下)邪恶的根源。
如果您不知道要使用哪个字符集,只需使用 UTF-8 并调用FileOutputStream.write(aString.getBytes(Charset.forName("UTF-8")));
您还可以定义一个用于整个应用程序的字符集,以便将来轻松更改。
class CharsetSettings {
static final String fileOperationsCharset = Charset.forName("UTF-8");
}
于 2013-06-11T06:56:40.613 回答
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. 原因是文本编辑器可以将字节码呈现为文本。
于 2013-06-11T06:45:39.967 回答