使用Java中的分隔符将标记拆分为标记

时间:2016-10-13 00:10:44

标签: java arrays class token delimiter

我有以下txt文件,我需要用标记分割并保存到对象:

  

1,哈利波特,4岁, 3,11,14,20

     

2,矩阵,3,的 1,8,12

     

3,蝙蝠侠,3,的 39,9,42

结构是:id,name,length,movieIds

其中length是指有多少movieIds。

不确定如何单独拆分movieId或为对象设置多个值,因为它们会相互覆盖。

Scanner inputFile = new Scanner(playlistLibrary);

        String str;
        String[] tokens;        

        for (int i = 1; i < playlist.length; i ++) {

            playlist[i] = new Playlist_17967352();

            if (inputFile.hasNext()) {

                str = inputFile.nextLine();
                tokens = str.split(","); 


                for (int a = 0; a < tokens.length; a ++) {

                    playlist[i].setId(tokens[0]);
                    playlist[i].setName(tokens[1]);
                    playlist[i].setLength(tokens[2]);

                    if (tokens.length > 3) {

                    int length = Integer.parseInt(playlist[i].getLength()); 

                            String movieIds;    

                        for (int b = 0, c = 3 ; b < length; b++, c++) {

                            movieIds = tokens[c];                                   
                            playlist[i].setMovies(movieIds);                                
                        }

                    }

                } // end for tokens.length  

                System.out.println(playlist[i].getMovies());
  

代码输出:

     

20

     

12

     

42

我需要的是:

  

3,11,14,20

     

1,8,12

     

39,9,42

1 个答案:

答案 0 :(得分:0)

你可以做一次拆分。您知道第一个电影ID位于tokens[3],因此您只需要循环中的一个计数器,然后在索引tokens时添加3个。