我无法使用此代码。 它正在读取的.txt文件位于: urls.txt
此代码的问题在于它根本不添加任何行。 每当我尝试从“列表”中获取任何内容时,它就会给我一个IndexOutOfBoundsException。
代码每30秒执行一次,所以我必须调用lists.clear();方法
注意:“list”是先前定义的:
public static ArrayList<ArrayList<String>> lists = new ArrayList<ArrayList<String>>();
这是我的代码:
try {
URL urls = new URL("https://dl.dropboxusercontent.com/u/22001728/server%20creator/urls.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(urls.openStream()));
lists.clear();
String line;
ArrayList<String> list = new ArrayList<String>();
lists.add(list);
int y = 0, z = 0;
while ((line = br.readLine()) != null) {
y++;
if(line.equalsIgnoreCase(">")) {
System.out.print("Received command: INSERT ");
lists.add(list);
list.clear();
z++;
System.out.print(" ; Jumping to " + z + "\n");
} else {
System.out.println("Line: " + line + " added to lists[" + z + "].");
lists.get(z).add(line);
}
}
int selectedIndex = comboModel0.getIndexOf(comboModel0.getSelectedItem());
comboModel0.removeAllElements();
System.out.println("\n\n\n");
System.out.println(lists.get(1).get(1));
System.out.println("\n\n\n");
} catch (IOException e) {
System.out.println("Failed to download URLS data.");
}
答案 0 :(得分:3)
您要将列表添加到列表集合中,然后将其清除。这将清除您的本地变量,以及您的集合中的列表。
lists.add(list);
list.clear();
您需要创建该列表的副本以添加到您的收藏中。
lists.add(new ArrayList<String>(list));