【问题标题】:Read and modify each files in a folder - Java [duplicate]读取和修改文件夹中的每个文件 - Java [重复]
【发布时间】:2014-10-20 09:11:44
【问题描述】:

我有一个包含 1000 个文件的文件夹。每个文件包含不同行数的文本。我想要并试图实现的是读取“每个”文件并将所有行附加到 1 行中(也就是说,我希望每个文件都有一行文本)。

这是我尝试过的,但它只打印文件名而不影响对文件的任何更改...

String line = "";
try{
    file = new FileReader(filename);
    BufferedReader reader = new BufferedReader (file);
    while ((line = reader.readLine()) != null){
        allLine.append(line);              
    }
    //System.out.println(allLine);
} catch (IOException e) {
    throw new RuntimeException("File not found");
} 
return allLine.toString();


FileWriter op = null;
op = new FileWriter(fileName);
BufferedWriter wryt = new BufferedWriter(op);
wryt.write(s);
wryt.flush();

if(op != null){
    op.close();
}


File[] lOfiles = folder.listFiles();

for (int i = 0; i< lOfiles.length; i++){
    if(lOfiles[i].isFile()){
        System.out.println(lOfiles[i].getName());
        ReadLines rd = new ReadLines();
        String rw = rd.readtxtFile(lOfiles[i].toString());
        rd.writetxtFile(lOfiles[i].getName(), rw);
    }
}

【问题讨论】:

  • 你遗漏了一些写TxtFile的代码。
  • 好的,我了解您想要实现的目标,并且您提供了一些代码 - 但问题是什么?
  • 您的问题是什么?你哪里出了问题?

标签: java


【解决方案1】:
    try {
        File folder = new File("yourfolderpath");
        File out = new File("outputfile.txt");
        try(BufferedWriter bw = new BufferedWriter(new FileWriter(out))){
            for(File f: folder.listFiles()) {
                BufferedReader br = new BufferedReader(new FileReader(f));
                for(String line = br.readLine(); line!=null; line=br.readLine()) {
                    bw.write(line);
                }
            }           
        }
    } catch (IOException e) {
        e.printStackTrace();
    }

【讨论】:

  • 问题是我上面提供的代码只读取文件的名称/路径,而不通过将每个文件中的所有文本附加到一行来修改每个文件。
  • @Andrew writeTxtFile 代码是以 FileWriter 开头的代码
  • 对不起,我看到了我的错误。我发布的代码实际上为我完成了这项工作,但输出显示在根文件夹中。谢谢你的cmets。我很感激他们。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-14
  • 2019-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-11
相关资源
最近更新 更多