使用java命令行参数将多个文件移动到PC中的单个位置



我正在尝试编写一个程序,其中我使用多个线程将多个文件复制到我PC中的单个位置。

我的输入将是文件的路径(在我的PC中)0作为命令行参数。我得把多个文件同时拷贝到电脑的某个文件夹里。

文件源是命令行输入文件目的地应该是我pc上的一个新文件夹。需要知道如何给目标路径作为目录,也输入作为命令行参数这是我要调用的方法

private static void copyFileUsingChannel(File source, File dest) throws IOException {
        FileChannel sourceChannel = null;
        FileChannel destChannel = null;
        try {
            sourceChannel = new FileInputStream(source).getChannel();
            destChannel = new FileOutputStream(dest).getChannel();
            destChannel.transferFrom(sourceChannel, 0, sourceChannel.size());
           }finally{
               sourceChannel.close();
               destChannel.close();
           }

如果要使用命令行,请检查主方法中的args[]数组

public static void main( String args[] ){
    if( args.length >= 2 ){
       File source = new File(args[0]);
       File dest = new File( args[1] );
       // Check files
       if( source.exists() && source.isDirectory() ){
          // continue check here
       }else{
         // args[0] is not a directory or does not exists
       }
    }
}

如果需要遍历文件,只需使用。

File[] files = source.listFiles();
for( File file : files ){
   if( file.isDirectory() ){
     // do stuff
   }
}

相关内容

  • 没有找到相关文章

最新更新