java - 如何将字符串转换回字节以便用 Java 写入文件?

标签 java byte

我有一个文本文件,其中包含“cool”一词。我读取了这个文件中的所有字节并将其转换为字符串。但是,在另一个函数中,我试图将相同的字符串转换回字节以写入文件,但我没有得到预期的结果。

Path path = Paths.get(fileName);
byte[] data = Files.readAllBytes(path);

String x = new String();
for(byte b: data){
    x += Byte.toString(b);
}  
System.out.println(x);

输出:“cool”变成字节

99111111108

不幸的是,下面的代码没有将“cool”写回文件,而是写入 99111111108。

str = "99111111108";
FileOutputStream C = new FileOutputStream("new.txt");
C.write(str.getBytes());
C.close();   

最佳答案

无法完成。问题在于,在字符串“99111111108”中,不包括字节开始和结束位置的分界。也就是说,这个字符串中第一个字符是“9”,还是“99”?

关于java - 如何将字符串转换回字节以便用 Java 写入文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36583552/

相关文章:

java - 我可以用另一个字符串替换字符串中的某个字符吗?

java - 代号一日历 UpdateButtonDayDate() 问题

java - ACM 竞赛中的斐波那契数列

PDF 和 DOCX 魔数(Magic Number)

python - Base64解码

java - Android 垃圾收集器 - 静态(类级别)var 何时重置?

java - 如何让 FillInTheBlank 打印问题(继承)

java - Java 中的自动类型提升

java - 扩展ascii的base64编码

java - 字节数组到文件对象而不保存到磁盘