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

JMeter-读取文件夹中的所有文件,并根据文件类型执行验证

呼延俊良
2023-03-14

我有不同类型的csv文件公司,职务代码,劳动力,我将下降到SFTP和文件将被处理和保存在数据库。我需要比较和验证csv文件的值和DB值,以便正确保存所有的记录。

对于单个文件,我已经按照下面的步骤进行了验证。

    null

要验证csv文件和DB值,我需要获取每个文件的csv行计数,我正在将步骤(I)中文件夹中的所有读取文件写入另一个csv文件(名为allfiles.csv)。现在问题是“allfiles.csv”有以下内容

C:\Users\AllFiles\Company_V1_0_201712251403.txt
C:\Users\AllFiles\JobCode_V1_0_201712040436.txt
C:\Users\AllFiles\Workc_V1_0_201802081914.txt

因为是反斜杠(),所以我用正斜杠(//)替换了它,并保存在变量中。

现在我需要获得每个文件的行号。

import org.apache.commons.io.FilenameUtils
import java.io.*

csvLineContent = vars.get('AllFiles')
log.info("-------------->" + csvLineContent)

csvLineContent = csvLineContent.replace('\\', '//') //replacing slash
vars.put('csvLineContent', csvLineContent)
log.info("==============" + csvLineContent)
csvfileWithoutExt = FilenameUtils.getName(csvLineContent)
log.info("File name is " + csvfileWithoutExt) //Get only file name

try {
    if (csvfileWithoutExt.startsWith("C")) //Get the line count for company file
    {
        log.info("File Name of Company file-------> " + csvfileWithoutExt)
        log.info("File full path ---> " + csvLineContent)
        reader = new LineNumberReader(new FileReader('csvLineContent')) // Issue here
        log.info("Reading file ====" + reader)
     }
} catch (Throwable ex) {
     log.error("Error in Beanshell", ex);
     throw ex;
}

我无法获得每个文件的行号。

2018-08-22 22:06:14,583 ERROR o.a.j.p.j.s.JSR223Sampler: Error in Beanshell
java.io.FileNotFoundException: csvLineContent (The system cannot find the file specified)
    at java.io.FileInputStream.open0(Native Method) ~[?:1.8.0_161]
    at java.io.FileInputStream.open(Unknown Source) ~[?:1.8.0_161]
    at java.io.FileInputStream.<init>(Unknown Source) ~[?:1.8.0_161]
    at java.io.FileInputStream.<init>(Unknown Source) ~[?:1.8.0_161]
    at java.io.FileReader.<init>(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_161]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_161]
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_161]
    at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_161]

共有1个答案

干弘深
2023-03-14

当前您正在读取文件名,若要按变量上下文读取文件,请删除变量名周围的引号:

 reader = new LineNumberReader(new FileReader(csvLineContent)) 
 类似资料:
  • 问题内容: 比方说,我有一个文件夹,名为和里面我有,和。如何使用Java和读取文件夹中的所有文件(如果可能的话)? 问题答案: 类似于以下内容应该可以帮助您,请注意,为了简单起见,我使用apache commons FileUtils而不是弄乱缓冲区和流…

  • 如果我们有一个文件夹,其中包含所有内容。txt文件,我们可以使用sc.textFile(“folder/*.txt”)读取所有这些文件。但是,如果我有一个文件夹,其中包含更多名为datewise的文件夹,例如,,。。。,其中还包含一些<代码>。记录文件。如何在Spark中阅读这些内容? 在我的例子中,结构更加嵌套

  • 问题内容: 如何通过Java读取文件夹中的所有文件? 问题答案: Java 8提供了Files.walk API。

  • 问题内容: 我需要使用文件夹中文件的所有名称创建一个列表。 例如,如果我有: 我想将它们存储为 with 作为值。 用Java做到最好的方法是什么? PS:我在Mac OS X上 问题答案: 你可以这样做: 你只想获取JPEG文件还是所有文件?

  • 问题内容: 我希望读取特定文件夹中的所有文本文件。文件名中没有任何通用模式-否则任务会更容易。 如果我也可以处理子文件夹,那将是很好,但是即使是基本的实现也已足够。 我尝试查看先前询问的相关问题,但是没有一个给出我需要的C和Linux特定答案。 编辑 :所以,这是我根据收到的答案写的- 并收到 错误 -pnp @ pnp-laptop:〜/ snort_rules_folder $ ./a.out

  • 我得到了一个程序,它应该读取所有的文件存在于一个给定的文件夹,并给出文件的细节,如文件名,文件大小,创建日期和时间,文件位置作为输出。如果在给定的文件夹中有任何子文件夹,那么它也应该geiving该子文件夹中存在的文件的详细信息。