Java 如何在不删除其内容的情况下写入二进制文件?(爪哇)
我想用java创建一个银行问题应用程序,使用二进制文件存储问题。我遇到了一个问题,即在再次写入二进制文件时删除二进制文件内容。我怎样才能轻松地解决这个问题Java 如何在不删除其内容的情况下写入二进制文件?(爪哇),java,file,binaryfiles,Java,File,Binaryfiles,我想用java创建一个银行问题应用程序,使用二进制文件存储问题。我遇到了一个问题,即在再次写入二进制文件时删除二进制文件内容。我怎样才能轻松地解决这个问题 import java.io.*; 导入java.util.ArrayList;公共班{ 公共静态void main(字符串[]args)引发IOException{ DataOutputStream输出=新的DataOutputStream(新的FileOutputStream(“BinaryFile.dat”)); Dat
import java.io.*;
导入java.util.ArrayList;公共班{
公共静态void main(字符串[]args)引发IOException{
DataOutputStream输出=新的DataOutputStream(新的FileOutputStream(“BinaryFile.dat”));
DataInputStream输入=新的DataInputStream(新的FileInputStream(“BinaryFile.dat”);
ArrayList ques=新的ArrayList()
对于(int i=1;i<11;i++){
writeUTF(i+“Hello\n”);
添加(i+“你好”);
}
对于(int i=0;i
预期的输出是,当我运行代码两次时,第一个内容不会被删除//创建该文件的路径
//create a path to that file
Path binaryFile = Path.of("BinaryFile.dat");
try {
//If the file doesn't exist create new one (StandardOpenOption.CREATE)
Files.writeString(binaryFile,"Text here",StandardCharsets.UTF_8,StandardOpenOption.CREATE,StandardOpenOption.APPEND);
// check the content file, the Files.lines(Path path) returns a Stream<String> with all lines.
Files.lines(binaryFile).forEach(System.out::println);
} catch (IOException e) {
e.printStackTrace();
}
Path binaryFile=Path.of(“binaryFile.dat”);
试一试{
//如果文件不存在,创建新文件(StandardOpenOption.create)
Files.writeString(二进制文件,“此处文本”、StandardCharsets.UTF_8、StandardOpenOption.CREATE、StandardOpenOption.APPEND);
//检查内容文件,Files.lines(路径路径)返回一个包含所有行的流。
Files.lines(二进制文件).forEach(System.out::println);
}捕获(IOE异常){
e、 printStackTrace();
}
你能把你到现在为止尝试过的东西贴出来吗。这将帮助他人引导你。另外,如果可能的话,请张贴您得到的实际输出和预期结果。@Knowledge\u seaker DoneNot does!!!您没有解释预期的输出是什么;i、 e.在写入文件后,您希望该文件看起来是什么样子。答案是,我认为您需要以追加模式打开输出文件;请参阅FileOutputStream javadocs。