-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

これは私がそれをする方法です:

  1. exists()メソッドを使用してファイルが存在することを確認してください。
  2. isDirectory() メソッドを使用して、ファイルがディレクトリであることを確認してください。
  3. ApacheCommonsiterateFiles()メソッドを使用してファイルを取得します。
于 2012-06-25T07:21:06.680 に答える
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 に答える