Как открыть временный каталог в Java? - PullRequest
1 голос
/ 25 марта 2012

Уважаемые участники сообщества,

У меня небольшая проблема со следующим кодом.Я думаю, что он должен открыть проводник в каталоге C: \ Users \ Me \ AppData \ Local \ Temp \.Однако это не работает, на самом деле ничего не происходит.Нет ошибок.

Я использовал следующий код:

import java.awt.Desktop;
import java.io.File;
import java.io.IOException;

public class Main {
    public static void main(String[] args) {
        try {
            Desktop.getDesktop().open(File.createTempFile("abcd", ".temp").getParentFile());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Если я заменил его на обычный файл, например, новый файл («C: \»), то он работает.Может кто-нибудь объяснить мне, почему это не работает?

PS: ребята, я забыл вам сказать, что я также пробовал это с некоторыми символами, такими как "abcd", он все еще ничего не дает и ничего не показывает!

Ответы [ 3 ]

3 голосов
/ 25 марта 2012

Просто используйте new File(System.getProperty("java.io.tmpdir")): это временный каталог. Не нужно подвохов с родителем бесполезного временного файла ...

0 голосов
/ 25 марта 2012

Согласно документам для File.createTempFile(), если префикс (первый аргумент) содержит менее трех символов, будет выброшено IllegalArgumentException. Вы должны увидеть это в выводе консоли.

0 голосов
/ 25 марта 2012

Просмотр Javadoc для класса файлов:

Параметры:

prefix - строка префикса, которая будет использоваться вгенерирование имени файла;должно быть длиной не менее трех символов

Таким образом, получается, что "" не является допустимым аргументом для префикса файла.

...