2014-10-10 3 views
-1

Я использовал этот код для создания пустого текстового файла, но он сохраняется только в папке проекта. Я хочу знать, как сделать текстовый файл на рабочем столе?Создание текстового файла и его появление на рабочем столе

public void newFileCreator(String filename){ 
    File ob = new File(filename + ".txt"); 
    boolean filecreated = false; 
    try{ 
     filecreated = ob.createNewFile(); 
    } 
    catch(IOException e){ 
     System.out.println("Error" + e); 
    } 

    if(filecreated = true){ 
     System.out.println("Created empty file" + ob.getPath()); 
    } 
    else{ 
     System.out.println("Failed to create empty file" + ob.getPath()); 
    } 
} 
+0

Дайте путь на рабочем столе, когда вы создаете новый файл ("путь" + ".txt"). –

+0

Вы должны указать, где для размещения файла в «новом файле («/home/User/Desktop/»+ filename +« .txt ») – Adz

+0

Является ли это Windows, Linux, Osx? – Leon

ответ

1

Вы предоставляете ему путь к каталогу на рабочем столе, но это зависит от системы. Например, на моей машине Linux я могу сделать ~/Desktop. Когда вы это сделаете, не забудьте использовать //, чтобы избежать /

2

Вы должны изменить имя файла как путь к рабочему столу пользователя. Вы можете использовать вопрос this, чтобы узнать, как получить рабочий стол. Когда у вас есть это, просто измените эту строку:

File ob = new File(desktop + filename + ".txt"); 
+0

Я изменил путь к файлу до того, как сказал, но этот код просто изменяет имя файла и по-прежнему помещает его в папку проекта. – rert588

+0

@ rert588 Вы помещаете '/' или '//'? Поместите путь в другую строку и перейдите, чтобы проверить ее. – Yann

+0

"//", но теперь он также отключает доступ к IOException. Как это решить. – rert588

1

Это должно сработать. Вы должны определить правильный путь к своему рабочему столу. Например, для меня это: C: \ Users \ Tsou \ Desktop \

public static void newFileCreator(String filename){ 
    File ob = new File("**C:\\Users\\Tsou\\Desktop\\**"+filename + ".txt"); 
    boolean filecreated = false; 
    ... 
} 
Смежные вопросы