0

.dat ファイルと .zip ファイルがあるフォルダーがあり、.zip ファイルを別のディレクトリに移動する必要があります。

私は2つのフォルダを持っています。

1) c:\source folder --> having two files abc.dat and other is abc.zip
2) c:\destination  ---> in which zip shpould be get copied 

これを達成する方法をアドバイスしてください、私が今行った儀式は...

File directory = new File(sourceFolder);
    File[] listFiles = (mcrpFilePath).listFiles();

 for (File f : listFiles) { 
        if (f.isFile()) {  // ?? here logic to pick up the zip file

        //logic to move the zip file to other directory

            }
        }
4

4 に答える 4

2

File.renameToを使用

この抽象パス名が示すファイルの名前を変更します。
このメソッドの動作の多くの側面は、本質的にプラットフォームに依存します。名前変更操作は、あるファイルシステムから別のファイルシステムにファイルを移動できない可能性があり、アトミックではない可能性があり、宛先の抽象パス名を持つファイルの場合は成功しない可能性があります。もう存在している。名前変更操作が成功したことを確認するために、戻り値を常にチェックする必要があります。

ここに例があります

または、Files#moveを使用できます(Java 7 を使用している場合)。

ファイルをターゲット ファイルに移動または名前変更します。

ここにmove() を使用した例があります

于 2013-09-02T06:12:27.060 に答える
1

File クラスでrenameTo()メソッドを使用するのと同じくらい簡単です。

public boolean renameTo(File dest);

この抽象パス名が示すファイルの名前を変更します。

フル パスを取得fileし、必要な場所に名前を変更します。

そしてboolean、その方法でそのリターンを利用して、それが正常に移動されたかどうかを知ることができます。

于 2013-09-02T06:12:39.700 に答える
1

zip ファイルを検出するには:

if(f.getName.equals("abc.zip"))

またはすべての zip ファイルの場合:

if(f.getName.endsWith(".zip"))

正規表現の場合:

if(f.getName.matches("abc*\\.zip"))

それを移動するため:

f.renameTo(new File("C:\dest\abc.zip");

または、より簡単に:

new File("C:\src\abc.zip").renameTo("C:\dest\abc.zip");

必要に応じて例外をキャッチします。

于 2013-09-02T06:12:55.563 に答える
1

java.io.File とそのメソッドを使用して、.zip ファイルのリストを取得し、それらを移動します(チュートリアル - ファイルまたはディレクトリの移動)

import static java.nio.file.StandardCopyOption.*;
...
Files.move(source, target, REPLACE_EXISTING); 

ソース

于 2013-09-02T06:36:06.483 に答える