我正在尝试从一个文件中读取,添加到数组并删除它。我担心的是,如果某些记录无法删除,我想将它们保存到另一个文件中。只是不知道该怎么做:(
String deviceGUID;
List<String> listaGuida = new ArrayList<String>();
File file = new File("test.txt");
try {
Scanner sc = new Scanner(file);
while (sc.hasNextLine()) {
deviceGUID = sc.nextLine();
System.out.println(deviceGUID);
listaGuida.add(deviceGUID);
}
sc.close();
} catch (FileNotFoundException e) {
logger.log(Level.INFO, "Missing file!", e);
}
String[] temp = listaGuida.toArray(new String[0]);
for (String list : temp) {
try {
ServiceApi.remove(Long.parseLong(list));
logger.log(Level.INFO, "All devices deleted!");
} catch (ServiceApi ex) {
logger.log(Level.SEVERE, "Unable to delete device: " + list, ex);
} finally {
???
}
}
猜猜代码会进入finally块吗?
答案 0 :(得分:0)
很简单:
List<String> itemsThatCouldNotBeDeleted = new ArrayList<>();
在第二个试块前面的某个地方。
在catch块中,您调用itemsThatCouldNotBeDeleted.add(whatever)
。
最后,在你的finally块中,检查该列表是否为空;如果不;你用那些内容做任何让你高兴的事。
换句话说:如果你想收集元素,那么把它们放入某种集合中;然后迭代那个集合并做你想做的任何事情。
将列表写入文件也很简单;并且已经多次记录在这里;例如,请参阅this。