откройте временный файл в Java

Просто добавьте , вышел из строя атрибут:




5
задан Stéphane Bruckert 12 February 2015 в 14:04
поделиться

4 ответа

Файл, созданный:

File temp = File.createTempFile("temp",".txt");

, не будет удален, см. javadoc , вы должны позвонить по

temp.deleteOnExit();

, поэтому JVM удалит файл при выходе ...

19
ответ дан 18 December 2019 в 06:36
поделиться

Как насчет чего-то вроде:

if (!temp.delete())
{
    // wasn't deleted for some reason, delete on exit instead
    temp.deleteOnExit();
}
4
ответ дан 18 December 2019 в 06:36
поделиться

Некоторые ссылки, которые могут вам помочь:

1
ответ дан 18 December 2019 в 06:36
поделиться

Чтобы выполнить операцию при нажатии кнопки, вам понадобится примерно такой код:

    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 (не знаю, есть он или нет).

Простая запись в файл, как в вашем коде, была бы бессмысленной. Вы, вероятно, захотите удалить файл после закрытия потока чтения, а не потока записи. Это'

0
ответ дан 18 December 2019 в 06:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: