自动化:将文件从源文件夹一一移动到目标文件夹,然后从源文件夹删除文件

时间:2018-12-03 17:00:39

标签: java eclipse selenium

场景:

我的DOWNLOAD文件夹中有2个文件。 1. A.csv 2. B.csv

首先下载A.csv,然后下载B.csv。

我想将A.csv移至Folder1,并在文件移动后立即从下载文件夹中删除A.csv,然后下载B.csv文件并将其移至Folder2,并尽快文件移动后,B.csv应该会从下载文件夹中删除。

我的代码:

我在FileUtils.copyDirectory(source,dest)中收到“ FileUtils类型的copyDirectory(File,File,boolean)方法不适用于参数(File,File,new FileFilter(){})”错误,新的FileFilter()行,我的代码如下:

List<WebElement> list= wd.findElements(By.xpath("//table[@class='lcb']/tbody/tr/td/table[@class='ibody']/tbody/tr/td[contains(translate(text(),'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'),'csv')]/parent::tr/td[7]/a"));
for (WebElement element:list)
{

 element.click();
 ++count;
 if(count==1)
 {
try{
 File source = new File("C:\\Users\\sh370472\\Downloads");
  File dest = new File("E:\\PAS\\");

      FileUtils.copyDirectory(source, dest, new FileFilter() {

          @Override
          public boolean accept(File pathname) 
          {
            boolean source=pathname.getName().toLowerCase().endsWith(".csv");
              if (source)
              {

                pathname.deleteOnExit();
                  return true;
              }
                  return false;

             } 

      });
  } catch (IOException e) {
    e.printStackTrace();
  }
 }
 Thread.sleep(9000);
 if(count==2)
 {
     File source1 = new File("C:\\Users\\sh370472\\Downloads");
        File dest1 = new File("E:\\TAS\\");

            FileUtils.copyDirectory(source1, dest1, new FileFilter() {

                @Override
                public boolean accept(File pathname) 
                {
                    boolean source1=pathname.getName().toLowerCase().endsWith(".csv");
                    if (source1)
                    {

                        pathname.deleteOnExit();
                        return true;
                    }
                        return false;

                   }

            });

        } 
}

有人可以告诉我如何纠正此错误或建议任何替代方法

1 个答案:

答案 0 :(得分:0)

FileUtils不是标准的Java实用程序类,但是从您的错误消息中,copyDirectory将布尔值作为最后一个参数,而不是过滤器。您应该弄清楚是否还有另一种采用过滤器的方法。

即使解决了问题,我也看不到您将文件下载到哪里。您正在从源复制到目的地,但是这两个都是目录-都不是FTP站点。

您需要首先从FTP站点下载文件列表,然后才能遍历该列表并下载/复制/删除每个文件。

您从不使用WebElement参数-文件列表来自哪里?