0

やあ、みんな

このファイルにはたくさんの*.zipファイルがあり、たくさんの*.logファイルやその他のものと1つの*.xmlファイルがあります。

ファイルを見つけて別のディレクトリにコピーする必要があります。

これまでのところ、ファイルは* .zipフォルダーにありますが、スタックしました。みんなが助けてくれることを願っています...ありがとう

私がこれまでに持っている次のコード:

public static void main(String[] args) 
    {
        String sPath = "c:/results/";
        //String sFiles;
        File folder = new File(sPath);
        File[] aListOfFiles = folder.listFiles();

        try
        {
            //get all files in the folder 
            for (int i = 0; i < aListOfFiles.length; i++)
            {
                if (aListOfFiles[i].isFile())
                {
                    //get path an file name
                    String sZipPath = aListOfFiles[i].getAbsolutePath();
                    //System.out.println("Absolute Path: " + sZipPath);

                    //open zip find the xml
                    ZipFile sourceZipFile = new ZipFile(sZipPath);
                    Enumeration e = sourceZipFile.entries();

                    while(e.hasMoreElements())
                    {
                        ZipEntry entry = (ZipEntry)e.nextElement();
                        String isXML = entry.getName();

                        if (isXML.endsWith(".xml"))
                        {
                            System.out.println(isXML);
                            //copieFile(File isXML,)
                        }
                    }

                }
            }
        }
        catch (IOException ioe)
        {
            System.out.println("Error while opening zip file " + ioe);
        }
4

1 に答える 1

2

解凍しないとコピーできません。これを行う必要があり、ファイルをメモリ内に保存するか、ディスクに保存する必要があります。

あなたがそこに立ち往生しているのも不思議ではありません。

ファイルを抽出するには、次を使用します。

InputStream stream = sourceZipFile.getInputStream(entry);

次に、コピー ロジック全体を自分で記述するか、 を使用しInputStreamて、 をOutputStreamなどにコピーできます。FileOutputStreamIOUtils.copy

于 2012-06-14T11:14:17.447 に答える