Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在不删除其内容的情况下写入二进制文件?(爪哇)_Java_File_Binaryfiles - Fatal编程技术网

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

我想用java创建一个银行问题应用程序,使用二进制文件存储问题。我遇到了一个问题,即在再次写入二进制文件时删除二进制文件内容。我怎样才能轻松地解决这个问题

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。