-3

我的任务是我有一个 inputFileLocation 和一些配置文件的列表,并且需要检查这些文件是否存在于该位置。

  • 例子:inputfileLocation = C:/input
  • 配置文件列表:sample_a.conf, refund_a.conf, sample_b.conf, refund_b.conf

需要检查文件是否存在,然后返回sample.conf文件列表和文件列表refund.conf

如何在 java 中实现这一点?

4

4 回答 4

3

使用java.io.File类。它有方法:

  • exists()

    测试此抽象路径名表示的文件或目录是否存在。

  • list(FilenameFilter)

    返回一个字符串数组,命名由该抽象路径名表示的目录中满足指定过滤器的文件和目录。

于 2012-06-25T07:16:00.373 回答
0

很简单:

import java.io.File;
import java.util.LinkedList;
import java.util.List;

public class FileFinder
{
    private String mInputFileLocation;
    private List<String> mSampleList;
    private List<String> mRefundList;

    public FileFinder(String inputFileLocation)
    {
        mInputFileLocation = inputFileLocation;
        mSampleList = new LinkedList<String>();
        mRefundList = new LinkedList<String>();
    }

    public void processList(List<String> filenameList)
    {
        for (String filename : filenameList)
        {
            File f = new File(mInputFileLocation, filename);
            if (f.exists())
            {
                if (filename.startsWith("sample_"))
                {
                    mSampleList.add(filename);
                }
                else if (filename.startsWith("refund_"))
                {
                    mRefundList.add(filename);
                }
            }
        }
    }

    public List<String> getSampleList()
    {
        return mSampleList;
    }

    public List<String> getRefundList()
    {
        return mRefundList;
    }
}
于 2012-06-25T07:27:31.823 回答
0
        File path = new File("C:/input");


        // Get the list of files in the directory
        File [] files = path.listFiles();

        for (int i = 0; i < files.length; i++){
            // Check whether files[i] is a file. If it is a file, it will print it.
            if (files[i].isFile()){ 
                System.out.println(files[i]);
            }
        }
于 2012-06-25T07:29:35.080 回答
0

我会这样做:

  1. 使用方法检查文件是否存在exists()
  2. 使用方法检查文件是否为目录isDirectory()
  3. 使用 Apache CommonsiterateFiles()方法获取文件。
于 2012-06-25T07:21:06.680 回答