在Java中将ArrayList <string>对象转换为整数

时间:2016-02-22 04:34:32

标签: java string arraylist

我试图从一个txt文件中读取一个字符串和整数的组合到一个ArrayList中。我知道这个问题与ArrayList String对象转换为Integer有关,但我不知道如何修复它。我正在将arraylist的前两个索引初始化为实例变量“name”和“creationDate”。该程序的目的是一个MP3播放器,其中包含播放列表名称,创建日期,歌曲标题,艺术家和长度。请帮忙!!

    public void readPlaylist(String path) {

    String token = "";
    ArrayList<String> temps = new ArrayList<String>();
    try {
        Scanner inputFile = new Scanner(new File(path)).useDelimiter("\n");

        while (inputFile.hasNext()) {
            token = inputFile.next();
            temps.add(token);

        }
        inputFile.close();

    } catch (java.io.FileNotFoundException ex) {
        System.out.println("Could not open the input file");

    }

    this.name = (String) temps.get(0);
    this.creationDate = (String) temps.get(1);
    for (int i = 2; i < temps.size() -2; i+=3) {
        String title = (String) temps.get(i);
        String artist = (String) temps.get(i + 1);
        int duration;
        duration = parseInt((String) temps.get(i+2));
        System.out.println(temps.get(i+2));
        Song song = new Song(title,artist,duration);
        list.add(song);

    }

}

以下是我正在阅读的txt文件:

KB Jams
09/01/2013
Repect
Aritha Franklin
182
Since I Fell for You
Jimmy Smith
256
Green Onions
Booker T. & the MG's
174
One Nation Under the Groove (Instrumental)
Parliament Funkadelic
347
I'd Rather Be With You
Bootsy Collins
294
Alpha and Omega
Israel & New Breed
351
Nobody Greater
VaShawn Mitchell
397

1 个答案:

答案 0 :(得分:1)

如果您的字符串包含除数字值之外的任何内容(例如空格),则会收到NumberFormatException错误。

该错误应告诉您要解析的内容。

您不会使用print语句查看空格或换行符的原因是因为它只是空格。

您可以修剪字符串以消除数字周围多余的空白

parseInt(temps.get(i+2).trim())