添加到文件中的读取文件中未删除的内容

时间:2017-02-02 09:30:33

标签: java delete-file

我正在尝试从一个文件中读取,添加到数组并删除它。我担心的是,如果某些记录无法删除,我想将它们保存到另一个文件中。只是不知道该怎么做:(

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块吗?

1 个答案:

答案 0 :(得分:0)

很简单:

List<String> itemsThatCouldNotBeDeleted = new ArrayList<>();

在第二个试块前面的某个地方。

在catch块中,您调用itemsThatCouldNotBeDeleted.add(whatever)

最后,在你的finally块中,检查该列表是否为空;如果不;你用那些内容做任何让你高兴的事。

换句话说:如果你想收集元素,那么把它们放入某种集合中;然后迭代那个集合并做你想做的任何事情。

将列表写入文件也很简单;并且已经多次记录在这里;例如,请参阅this