读取和修改文件夹中的每个文件 - Java [重复]

Posted

技术标签:

【中文标题】读取和修改文件夹中的每个文件 - Java [重复]【英文标题】:Read and modify each files in a folder - Java [duplicate] 【发布时间】: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的代码。 好的,我了解您想要实现的目标,并且您提供了一些代码 - 但问题是什么? 您的问题是什么?你哪里出了问题? 【参考方案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。我很感激他们。

以上是关于读取和修改文件夹中的每个文件 - Java [重复]的主要内容,如果未能解决你的问题,请参考以下文章

从Java中的图像文件中读取文本[重复]

从 Java 中的 Midi 文件中读取 Midi 消息 [重复]

在java中如何修改文本文件中的某一行的某些数据??

直接从 URL 读取并写入文件 - Java [重复]

模板中的阅读路径[重复]

Java - 读取文件夹中的所有 .txt 文件