繁体   English   中英

如何使用FileWriter将输出写入txt文件

[英]How to Write the output into txt file using FileWriter

这是我的Java代码,用于查找目录内文件的位置并将其写入txt文件作为输出,但是在编译后,内容未写入txt文件。 请给我一些解决方案。

public void listFilesAndFilesSubDirectories(String directoryName)
{
    File directory = new File(directoryName);
    List<String> list=new ArrayList<String> ();
    //get all the files from a directory
    if(directory.exists()){
        File[] fList = directory.listFiles();
        for (File file : fList){
            if (file.isFile()){
                if(file.getName().endsWith(".c")==true || file.getName().endsWith(".h")==true){
                    // System.out.println(file.getAbsolutePath());
                    list.add(file.getAbsolutePath());
                }
            } else if (file.isDirectory()){
                listFilesAndFilesSubDirectories(file.getAbsolutePath());
            }
            else break;
        }

        try{
            FileWriter fw=new FileWriter("C:/Users/Public/afreen/module.txt");
            BufferedWriter out = new BufferedWriter(fw);

            for(String str: list)
            {
                System.out.println(str);
                out.write(str);
            }
            out.flush();
            out.close();
        }
        catch(Exception  e)
        {
            System.out.println(e);
        }
        System.out.println("Success....");
    }
    else
    {
        System.out.println("The directory is not exist , please enter a valid path");
    }
}

上面的代码将输入作为目录的路径,并找到我想要的文件的位置。但是这些位置无法写入txt文件,我不知道实际原因,请帮我寻找解决方案。

每次(递归)调用您的方法时,都会创建一个新列表并向其中添加目录名,但是该列表不是您要从中进行打印的列表,请尝试使用共享资源。
例如使用全局变量等

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM