我有一个文本文件,其中包含“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/