gpt4 book ai didi

java - 在java中,如何从文件读取数据并创建数组集合?

转载 作者:行者123 更新时间:2023-12-02 07:18:17 24 4
gpt4 key购买 nike

我正在尝试运行 Junit 参数化测试。以下是 Junit 建议如何将数据添加到数组集合中。

Object[][] data = new Object[][] { { 1 }, { 2 }, { 3 }, { 4 } };  
return Arrays.asList(data);

但这需要用户在代码中添加数据。我想从文件(大约 300 行)读取数据并将其转换为数组集合。我怎样才能做到这一点 ?

代码如下:

import static org.junit.Assert.*;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;



@RunWith(value=Parameterized.class)
public class UrlParameterizedTest {

private String url;
public static ArrayList<String>dataArray=new ArrayList<String>();
static File directory = new File(".");
public static String fileToRead;

public UrlParameterizedTest(String url){
this.url=url;
}
@Parameters
public static Collection<Object[]> data() throws Exception {

try {
fileToRead=directory.getCanonicalPath()+"\\Data\\LinkChecker.csv";
loadDataFile(fileToRead);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

Object[][]data=new Object[dataArray.size()][];
******* //convert dataArray to data here.************
return Arrays.asList(data);

}

@Test
public void testURLs() {
System.out.println("Parameterized Number is "+url);
}

public static void loadDataFile(String dataFile) throws Exception {
dataArray.clear();
//if data_file is absolute, use this
try
{
// Open an input stream
// Read a line of text
String line="";
BufferedReader br=new BufferedReader(new FileReader(dataFile));
while((line=br.readLine())!=null) {
dataArray.add(line);
}
br.close();
System.out.println("The data file length is "+ dataArray.size());
}

catch (IOException e)
{
e.printStackTrace();
System.out.println ("Unable to read from file");
}
}
}

最佳答案

使用 Apache Commons FileUtils.readFileToString 将文件读取为字符串。然后您需要将文件解析为数组集合。我们无法帮助您解析该文件,而且我们也不知道其内容。

FileUtils.readFileToString

关于java - 在java中,如何从文件读取数据并创建数组集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14624822/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com