Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.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 Io - Fatal编程技术网

Java追加新文件';将数据复制到旧文件

Java追加新文件';将数据复制到旧文件,java,file-io,Java,File Io,在第一步中,我创建一个文件,比如test1.txt并向其中添加记录,其余的记录添加到test2.txt。现在我想将test2.txt的记录附加到test1.txt。如何将它们附加到test1.txt。我划分文件的原因是我有一个大约53K条记录的列表,它无法写入单个文件,因为缓冲区写入器在达到52K时正在关闭。 我用来创建单个文件的函数是 public void exportApprovedList() throws IOException { File approvedWhite

在第一步中,我创建一个文件,比如test1.txt并向其中添加记录,其余的记录添加到test2.txt。现在我想将test2.txt的记录附加到test1.txt。如何将它们附加到test1.txt。我划分文件的原因是我有一个大约53K条记录的列表,它无法写入单个文件,因为缓冲区写入器在达到52K时正在关闭。 我用来创建单个文件的函数是

    public void exportApprovedList() throws IOException {
    File approvedWhiteListFile = new File("/var/tmp/livecron/dictionary.common");
    BufferedWriter bw = new BufferedWriter(new FileWriter(approvedWhiteListFile));

    if (approvedWhiteListFile.exists()) {
        List<WhiteListTerm> approvedWhiteList = whiteListBO.getByStatus("APPROVED");
        for (WhiteListTerm whiteList : approvedWhiteList) {
            bw.write(whiteList.getTerm() + "|" + 
    whiteListCategoryBO.getById(whiteList.getCategoryId()).getCategoryname());
            bw.newLine();
        }
    }
    bw.close();
   }
public void exportApprovedList()引发IOException{
File approvedWhiteListFile=新文件(“/var/tmp/livecron/dictionary.common”);
BufferedWriter bw=新的BufferedWriter(新的FileWriter(approvedWhiteListFile));
如果(approvedWhiteListFile.exists()){
List approvedWhiteList=whiteListBO.getByStatus(“已批准”);
对于(白名单术语白名单:approvedWhiteList){
write(白名单.getTerm()+“|”+
getById(whiteList.getCategoryId()).getCategoryname());
换行符();
}
}
bw.close();
}
试试这个

导入java.io.*; 公共类文件读写{

public void writeFile(String sorcefile) 
{
     try{
          FileInputStream fis = new FileInputStream(sorcefile);
          DataInputStream dis = new DataInputStream(fis);
          BufferedReader br = new BufferedReader(new InputStreamReader(dis));
          FileWriter fw=new FileWriter("src/output.java",true);
          BufferedWriter bw=new BufferedWriter(fw);
          String strLine;
          //Read File Line By Line
          while ((strLine = br.readLine()) != null)   
          {
          System.out.println (strLine);
          bw.append(strLine);
          }           
          //Close the input stream
          br.close();
          dis.close();
          fis.close();
          fw.flush();
          bw.flush();
          fw.close();
          bw.close();             
            }catch (Exception e){//Catch exception if any
          System.err.println("Error: " + e.getMessage());
          }
}
公共静态void main(字符串参数[]) { FileReadWrite frw=新建FileReadWrite(); frw.writeFile(“具有完整路径的sorce文件名”); } }试试这个

导入java.io.*; 公共类文件读写{

public void writeFile(String sorcefile) 
{
     try{
          FileInputStream fis = new FileInputStream(sorcefile);
          DataInputStream dis = new DataInputStream(fis);
          BufferedReader br = new BufferedReader(new InputStreamReader(dis));
          FileWriter fw=new FileWriter("src/output.java",true);
          BufferedWriter bw=new BufferedWriter(fw);
          String strLine;
          //Read File Line By Line
          while ((strLine = br.readLine()) != null)   
          {
          System.out.println (strLine);
          bw.append(strLine);
          }           
          //Close the input stream
          br.close();
          dis.close();
          fis.close();
          fw.flush();
          bw.flush();
          fw.close();
          bw.close();             
            }catch (Exception e){//Catch exception if any
          System.err.println("Error: " + e.getMessage());
          }
}
公共静态void main(字符串参数[]) { FileReadWrite frw=新建FileReadWrite(); frw.writeFile(“具有完整路径的sorce文件名”); }
}

刚刚尝试将整个列表写入单个文件,但最后的记录丢失,尚未开始追加部分。只是检查如何开始在写入后关闭文件?听起来好像没有刷新缓冲区。已将我使用的函数添加到我的帖子中。你能告诉我怎么做吗?@prunge是对的。您没有刷新,因此缓冲区没有完全保存到磁盘。阅读:感谢Fredrik提供了bufferedwriter文章的链接。因此,我需要清空缓冲区写入程序,即在缓冲更多数据之前刷新它。那么,我可以在bw.newLine()之前添加bw.flush()行吗?我只是尝试将整个列表写入单个文件,但最后的记录丢失,尚未开始追加部分。只是检查如何开始在写入后关闭文件?听起来好像没有刷新缓冲区。已将我使用的函数添加到我的帖子中。你能告诉我怎么做吗?@prunge是对的。您没有刷新,因此缓冲区没有完全保存到磁盘。阅读:感谢Fredrik提供了bufferedwriter文章的链接。因此,我需要清空缓冲区写入程序,即在缓冲更多数据之前刷新它。那么,我可以在bw.newLine()之前添加bw.flush()行吗。