当前位置: 首页 > 知识库问答 >
问题:

下载文件夹中找不到文件名

怀宇
2023-03-14

文件名的开始是相同的,但结束是动态的,每次我点击下载时都会改变

我所做的:

    try {
            JSclick(download);
            Thread.sleep(4000);
            String pdfContent = readPdfContent();
            Assert.assertTrue(pdfContent.contains("Test Kumar"));
            Assert.assertTrue(pdfContent.contains("XXXXX"));
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }


    public static  String readPdfContent() throws IOException {
        File File=new File(Filepath);
        fileName=File.getAbsolutePath().substring(File.getAbsolutePath().lastIndexOf("\\")+1);
        System.out.println(fileName);
        
        
        File file = new File(System.getProperty("user.dir")+"\\src\\test\\resources\\Download\\"+fileName+"");
        
        PDDocument doc = PDDocument.load(file);
        int numberOfPages = getPageCount(doc);
        System.out.println("The total number of pages "+numberOfPages);
        String content = new PDFTextStripper().getText(doc);
        doc.close();
    return content;
}

static String Filepath=System.getProperty("user.dir")+"\\src\\test\\resources\\Download\\";

你能帮忙吗

共有1个答案

龙博
2023-03-14
  • 创建检查文件是否已完全下载的方法。
  • 在需要时调用该方法。

检查文件是否下载的方法:该方法是在下载文件夹中搜索给定时间的部分或全文的特定文件,并返回布尔结果。

@param fileText - Partial or full file name
@param fileExtension - .pdf, .txt
@param timeOut - How many seconds you are expecting for file to be downloaded.
    public static boolean isFileDownloaded(String fileText, String fileExtension, int timeOut) {
        String folderName = "location of download folde";
        File[] listOfFiles;
        int waitTillSeconds = timeOut;
        long passedTimeInSeconds = 0;
        boolean fileDownloaded = false;

        long waitTillTime = Instant.now().getEpochSecond() + waitTillSeconds;
        while (passedTimeInSeconds < waitTillTime) {
            listOfFiles = new File(folderName).listFiles();
            for (File file : listOfFiles) {
                String fileName = file.getName().toLowerCase();
                if (fileName.contains(fileText.toLowerCase()) && fileName.contains(fileExtension.toLowerCase())) {
                    fileDownloaded = true;
                    break;
                }
            }
            if (fileDownloaded) {
                break;
            }
        }
        return fileDownloaded;
    }

调用isFileDownLoad方法:

    if (!isFileDownloaded(fileName, ".pdf", 30)) {
                System.out.println("File is not downloaded. Expected file is " + fileName + ".pdf");
            }else{
                System.out.println("File is downloaded.);
           }
 类似资料:
  • 文件夹结构: 我无法到达资源/静态文件夹下的test.html: http://localhost:8080/test.html(不工作) 但是能够达到指数。以下为html: http://localhost:8080/index.html(工作) 从Spring Boot文档中,似乎我应该将所有静态内容置于 /src/main/resources/static 额外信息:

  • 问题内容: 我已经发现了[这个问题](http://codingdict.com/questions/161576,建议用来获取用户的主目录。 我想通过“下载”文件夹实现相同的目的。我知道[这在C#中是可能的]http://codingdict.com/questions/168125),但是我是Python的新手,也不知道在这里是否也可以做到这一点,最好与平台无关(Windows,Ubuntu)

  • 我正在尝试下载一个文件到目录,可以根据用户选择的任何目录变化。我将当前目录存储在一个file对象中,现在正在尝试下载该文件。文件下载,但它不下载指定的目录。那么,我可以做什么来获得所选目录中的文件。 传递给文件构造函数的名为url的字符串包含url。只是用它来检索文件名。 更新:我刚找到文件。它在手机里而不是sd卡里。它就在这个文件夹里,存储\仿真\00。不知道为什么?另外,我得到的绝对路径是St

  • 问题内容: 我刚刚开始使用Play2.0 Framework,并且试图在模板中使用主模板。我遇到的问题是,它在“共享”文件夹中时找不到“主”,如果我将其取出并放在“视图”根目录中,则它可以正常工作。 所以我想知道怎样才能引用从? 我的文件夹结构如下: 观看次数 家 index.scala.html 共享 main.scala.html 我的代码是: 我得到的错误是: 问题答案: 一旦进入子文件夹进

  • 我对*nix操作系统不是很有经验,我正在尝试在WSL中建立一个嵌入式编程环境,但我对基本问题很感兴趣。上次我在这个项目上工作时,我下载了一些文件(cargo和rustup,但这不重要),我确认它们在那里,并通过使用-V获取版本号来工作。 重新启动计算机后,WSL无法将rustup或货物识别为命令,并且文件夹不会以ls显示,即使我在Windows资源管理器中检查它们时它们也会显示。 我一直在使用的目

  • 我需要选择和下载存储在计算机上的许多文件夹,我只能通过远程ssh连接访问这些文件夹。我创建了一个列表(“list.txt”)来只下载我感兴趣的文件夹,我尝试使用一个“for”循环 但是不要阅读我的列表并卸载所有文件夹,我也尝试过 我能做什么?谢了!