如何用逗号分割内容,将其放入数组,然后将分割后的数组放回字符串中,然后按行分割回数组?

时间:2019-05-19 17:57:28

标签: java

我正在为我学校的棒球教练进行蒙特卡洛模拟。我目前正在尝试使用BufferedReader读取文本文件(这本身就是另一个问题,但是我可以解决),然后通过返回将所有行分开(我已经完成了),但从那里开始,我想从应该创建的每个数组中,以逗号分隔每个数组,因此对于棒球队的每个球员,我将为他们分配一个单独的数组。 谢谢! -帕克

我不确定自己从哪里开始,所以我已经到达我说过要去的地方,但是被卡住了,所以还没有真正能够尝试的东西。

  cliente.connect((err,cliente)=>{

        if(err){

            console.error(err)

        }
              db = cliente.db('kalopa');

              module.exports.db = db;

        }) 

2 个答案:

答案 0 :(得分:0)

实际上很简单:将行读入列表,然后通过用逗号分隔将每一行转换成自己的列表。您的结果应该是列表列表(我总是鼓励在数组上使用列表)。

await

现在CSV文件已转换为字符串列表列表,例如,要获取第一行的第三列,您可以这样做

final String filename = "MHS_Baseball_Season_Stats_19_csv.txt";
List<String> lines = Files.readAllLines(Paths.get(fileName));
List<List<String>> playerStats = new ArrayList<>(lines.size());

for (String line : lines) {
    String[] lineValues = line.split(",");
    playerStats.add(Arrays.asList(lineValues));
}

答案 1 :(得分:0)

这是一种使用BufferedReader读取文件,然后使用ArrayList存储每个玩家统计信息数组的解决方案

public Main() throws IOException {
    List<String[]> playerStats = new ArrayList<>();

    try (BufferedReader br = new BufferedReader(new FileReader("MHS_Baseball_Season_Stats_19_csv.txt"))) {
        String line = null;
        while ((line = br.readLine()) != null) {
            String[] stats = line.split(",");
            playerStats.add(stats);
        }
    }

    //example printing all stats for each player
    for (String[] stats : playerStats) {
        System.out.println(Arrays.toString(stats));
    }
    //example printing first element for each player
    for (int i = 0; i < playerStats.size(); i++) {
        System.out.println(playerStats.get(i)[0]);
    } 
}