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

如何在Java中读取CSV文件中一行中用逗号分隔的两个或多个单词?

昝宜
2023-03-14

以下是我的CSV文件:

11608030,12345  
11608045,54321  

下面是我的代码:

package csvtest;
import java.util.ArrayList;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class Test {
    private ArrayList<Long> account_number = new ArrayList<Long>();
    private ArrayList<String> password = new ArrayList<String>();
    public Test() throws FileNotFoundException {
        Scanner scanner = new Scanner(new File("E:\\account.csv"));

        scanner.useDelimiter(",");
        while(scanner.hasNext()){
            this.account_number.add(Long.parseLong(scanner.next()));
            this.password.add(scanner.next());
        }
        System.out.println(account_number);
    }
}

我的代码有什么问题??需要帮助!!!提前致谢:)

共有1个答案

洪华皓
2023-03-14

您应该使用scanner.usedelimiter(“,\\n”);最初的问题是第二个scanner.next()读入“12345\n11608045”,因为您没有指定换行符也可以是分隔符。因此,上次调用scanner.next()时,没有任何内容可以读取,因为第二次调用next()读取了两个值。

 类似资料:
  • 目标:创建一个面向对象的图形Java应用程序,该程序将:读取一个CSV(逗号分隔值)文件,该文件由学生姓名(名字、姓氏)、ID以及内容和交付的初始标记组成(未评估学生使用-1值)。 这是我的代码,但当我点击选择文件。。当它真的应该打开文件并读取数据时,它会显示“预期的名字、姓氏、ID、内容和交付”。但不知何故,它不起作用。在此处输入图像描述 下面是我的代码: 私有类ChooseFileListen

  • 问题内容: 我有一个逗号分隔的CSV文件,其中包含NASDAQ符号。我使用扫描仪读取文件 我在第二个字段上遇到异常。问题是,该字段与文件中的其他某些字段一样也包含逗号,例如“ 1-800 FLOWERS.COM,Inc.”: 如何避免这个问题?我的代码是: 谢谢 问题答案: 除非这是家庭作业,否则您不应该自己解析CSV。使用现有库之一。例如: http //commons.apache.org/s

  • 问题内容: 我们已经知道可以在多个if /guard语句中使用多个可选绑定,方法是用逗号分隔,但不能使用例如 在操场上玩耍时,逗号式格式似乎也适用于布尔条件,尽管我在任何地方都找不到。例如 这是用于评估多个布尔条件的公认方法吗,其行为是否与boolean条件相同或在技术上有所不同? 问题答案: 实际上结果是不一样的。假设您在if和&&之间有2条陈述。如果在第一个语句中使用可选绑定创建一个let,则

  • 问题内容: 就像标题所说的那样,我试图编写一个程序,该程序可以从文本文件中读取单个单词并将其存储到变量中。我知道如何使用或来读取单曲,但是对于我试图这样做的行不通。一旦输入了单词,我就尝试使用.equals将它们与程序中的其他String变量进行比较,因此最好将其导入为Strings。我也可以将文本文件中的整行作为字符串输入,在这种情况下,我只需要在文件的每一行中输入一个单词即可。如何从文本文件输

  • 我想把一个多项选择题列表读成一个多维数组在Java,文件的格式是:问题,answer1,answer2,answer3,answer4,CorretAnswer。 一公里有几米?,1,10,100,1000,4,彩虹童谣里哪种颜色不是?,蓝色,粉色,黑色,橙色,3一个足球队在场上有几个队员?,10,11,12,13,2 所以我希望数组的格式为question[][],如果n是1,那么questio

  • 问题内容: 当我的输入为1 2 3(以空格分隔)时,该程序运行良好。但是,当我的输入为1,2,3(以逗号分隔)时,如何修改程序。 问题答案: 您可以使用nextLine方法读取字符串,并使用拆分方法将其以逗号分隔,如下所示: 此方法适用于仅用逗号分隔的3个值。 如果需要更改值的数量,可以使用循环从向量中获取值。