Просто добавьте , вышел из строя атрибут:
Файл, созданный:
File temp = File.createTempFile("temp",".txt");
, не будет удален, см. javadoc , вы должны позвонить по
temp.deleteOnExit();
, поэтому JVM удалит файл при выходе ...
Как насчет чего-то вроде:
if (!temp.delete())
{
// wasn't deleted for some reason, delete on exit instead
temp.deleteOnExit();
}
Чтобы выполнить операцию при нажатии кнопки, вам понадобится примерно такой код:
button.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent event) {
fileOperation();
}
}
...
private void fileOperation() {
... do stuff with file ...
}
Вы, вероятно, можете найти много примеров с помощью Google. Как правило, код анонимного внутреннего класса должен быть коротким и просто переводить событие и контекст в операции, значимые для внешнего класса.
В настоящее время вам необходимо удалить файл вручную с помощью File.delete
после того, как вы его закрыли. . Если вы действительно хотите, вы можете расширить, скажем, RandomAccessFile
и переопределить close
для удаления после закрытия. Я считаю, что удаление при закрытии рассматривалось как режим для открытия файла в JDK7 (не знаю, есть он или нет).
Простая запись в файл, как в вашем коде, была бы бессмысленной. Вы, вероятно, захотите удалить файл после закрытия потока чтения, а не потока записи. Это'