需要访问src / test / resource文件夹中的csv文件

时间:2019-01-25 07:12:27

标签: java spring-boot spring-batch classloader

我需要从src / test / resource文件夹中读取CSV文件。

我在根级别提供了文件,并且运行正常。但是我想将所有这些文件放在src / test / resource文件夹中。

String fileName = "Phone_valid.csv";
File srcFile = new File(fileName);
String path = srcFile .getAbsolutePath();

// path = C:\D Drive\Orange Codebase\dabek-data-processing\Phone_valid.csv


String fileName = "\\src\\main\\resource\\Phone_invalid.csv";
File srcFile = new File(fileName);
String path = srcFile .getAbsolutePath();

// path= "C:\src\main\resource\Phone_invalid.csv"


I want that path should be 
path = C:\D Drive\Orange Codebase\dabekdataprocessing\\src\main\resource\Phone_invalid.csv

4 个答案:

答案 0 :(得分:0)

删除第一个反斜杠。这行得通吗?

FROM mariadb
COPY ./my-initial.sql /docker-entrypoint-initdb.d/
CMD ["mysqld"]

答案 1 :(得分:0)

这应该有效。

File file= new File("src/test/resources/filename.txt");

注意避免在目录名中使用空格,例如Orange Codebase

答案 2 :(得分:0)

尝试此代码

import java.io.File;

public class MyClass {

    public static void main(String[] args) {
        String fileName = "src\\main\\resource\\Phone_invalid.csv";
        File srcFile = new File(fileName);
        String path = srcFile .getAbsolutePath();
        System.out.println("Path: "+path);
    }
}

以上代码的输出将是..

Path: E:\Orange Codebase\dabekdataprocessing\src\main\resource\Phone_invalid.csv

答案 3 :(得分:0)

我通过使用以下代码实现了相同的目的

String phonePath= "src/test/resources/Phone_valid.csv";
File srcFile = new FileSystemResource(phonePath).getFile();

String path = srcFile.getAbsolutePath();

// path = C:\D Drive\Orange Codebase\dabekdataprocessing\src\test\resources\Phone_valid.csv.

现在,我可以从src / test / resources文件夹访问该文件了。