我从串口接收数据,我想将数据写入文件。问题是程序正在覆盖文件中相同位置的数据。例如,它在同一个地方写入0xAA然后写入0xBD,当我打开文件在文本编辑中读取它时,我在文件中只找到一个数字。我怎么能一个接一个地写这些数字呢?杰斯
public class Loading {
public static void writeFile(String fileName,int bytes) {
FileOutputStream fo = null;
File file;
try {
file = new File("C:/dar.txt");
fo = new FileOutputStream(file);
if (!file.exists())
{
file.createNewFile();
}
//StringUtils.getHexString((byte) bytes);
fo.write((byte) bytes);
System.out.println(getHexString (bytes));
}
catch (Exception e) {
System.out.println("writeFile exception: " + e.getClass().getName() + " " + e.getMessage());
}
finally {
if (fo != null) {try {fo.close();} catch (Exception ex) {}}
}
}
答案 0 :(得分:2)
作为stated previously,FileOutputStream有多个构造函数。使用同时包含File
和boolean
的构造函数,并将布尔值设置为true
。
FileOutputStream(File file, boolean append)
这将导致它附加到文件,而不是覆盖...