2015-12-02 123 views
0

对于任务,我必须制作一个加密器和解密器。这些将采取文件夹路径中的所有文件并对它们进行编码。我知道如何指定文件夹的路径。问题是,我不知道文件名,所以我需要检测文件夹中的所有文件名。我只在这个练习中使用文本文档,所以应该使它更容易。Java:使用Filewriter编辑任何文件名的所有文件

截至目前,我获准使用的唯一类是:

的FileWriter(所有构造函数需要一个名称,这将有助于如果有办法解决!) 文件 PrintWriter的 扫描仪

我想这会是这样的:
new FileWriter((*)".txt");

与*是任何文件名。但那不行。

+1

java.io.File中的list()方法,会给你一个给定文件夹中的所有文件(假设你创建的文件对象与文件夹路径) – Berger

回答

0

首先用目录的路径创建一个File对象。

File directory = new File("your/path"); 

File类有一个名为listFiles的成员函数,它有一个接受FilenameFilter的重载。 FilenameFilter是一个具有方法accept的接口,通过实现此功能,您可以指定要包含的文件。例如:

File[] txtfiles = directory.listFiles(new FilenameFilter(){ 
    @Override 
    public boolean accept(File dir, String filename) 
    { 
     return filename.endsWith(".txt"); 
    } 
}); 

现在txtfiles将包含在包含后缀名为.txt指定目录下的所有文件。这些文件创建一个FileWriter是不是很难了:

for(File file : txtfiles) 
{ 
    FileWriter writer = new FileWriter(file); 
    /*Your other code*/ 
}