如果我有一个文件,我想要字面上向其中写入“42”(值而不是字符串),例如16进制中的2a,我该怎么做?我希望能够使用类似outfile.write(42)或outfile.write(2a)的东西,而不是将字符串写入文件。
OutputStream
(例如FileOutputStream
)。Writer
(例如FileWriter
或包装在FileOutputStream
周围的OutputStreamWriter
)。所有命名为“*Writer
”或“*Reader
”的内容都仅处理文本/String
。如果要写入二进制数据,则应避免使用这些内容。byte
),则应查看DataOutputStream
。 OutputStream os = new FileOutputStream(fileName);
String text = "42";
byte value = Byte.parseByte(text);
os.write(value);
os.close();
import java.io.*;
...
OutputStream out = new FileOutputStream("MyFile");
try {
// Write one byte ...
out.write((byte) 42);
// Write multiple bytes ...
byte[] bytes = ...
int nosWritten = out.write(bytes, 0, bytes.length);
} finally {
out.close();
}
异常处理留给读者自己练习 :-)