我有以下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
答案 0 :(得分:0)
你可以做一次拆分。您知道第一个电影ID位于tokens[3]
,因此您只需要循环中的一个计数器,然后在索引tokens
时添加3个。