2009-12-23 3 views
0

Я придумал следующий код ... мой Документ не создан. Я не получаю сообщений об ошибках. Что касается Java API, я сделал все в правильном порядке. Каталог создается правильно ... поэтому мне не нужно беспокоиться об этом.Создание файла в новом каталоге

У кого-нибудь есть идея или подсказка, на что посмотреть?

public static void main(String[] args) throws Exception{ 
    String path = null; 
    String destination = "/myfolder/test/" + createRandomPath(path); 
    try { 
     boolean status; 
     status = new File(destination).mkdir(); 
    } catch (Exception e) { 
     System.out.println("Fehler: " + e.getMessage()); 
    } 

    File document = new File(destination + "temp.docx"); 

    //Edit: Here is the solution..Thank you 
    document.createNewFile(); 

    } 
    static String createRandomPath(String path){ 
    UUID uuid = UUID.randomUUID(); 
    path = uuid.toString().replace('-', 'A').substring(0,9); 
    System.out.println(path); 
    return path; 
    } 
+1

что делает createRandomPath (путь), где путь = нуль , сделать для вас? – Sev

+0

отредактировал :-) Спасибо за этот подсказку – bastianneu

+2

Еще один совет: я бы переименовал локальную переменную «Документ» в нижнее имя. В противном случае люди думают: «Документ» - это класс и «createNewFile()» статический метод для этого класса. –

ответ

4

вам нужно вызвать createNewFile(), чтобы, эээ, создать новый файл на диске, если это то, что вы просите.

так что вам нужны коды формы:

File f = new File("C:\\temp\\newfile.txt"); 
//new file does not exist on disk yet 
f.createNewFile(); 
//f should be created on disk now 
+0

вы правы .. :-) arrrgh получил ответ все время перед моим носом и не смог его найти. – bastianneu

+0

Я добавил свой ответ на свой код ... с комментарием «Решение». Спасибо ..Upvote – bastianneu

+0

ура, с Рождеством! –

1

File Document... линия создает экземпляр класса File в памяти. Как говорит Джеймс B, вы должны затем создать файл, возможно, что-то вроде этого:

File doc = new File(destination + "temp.docx"); 
doc.createNewFile(); 

(Не забудьте обернуть это в try... catch как вы будете иметь в ловушку IOException)

+0

спасибо ... Полезный совет – bastianneu

0

Я модифицированный и выполненный в моем конце, я изменил путь и выполнил "" c: \ myfolder \ test "+ createRandomPath (путь);" Это работает.

public static void main(String[] args) throws Exception{ 
    String path = null; 
    String destination = "c:\\myfolder\\test" + createRandomPath(path); 
    try { 
     boolean status; 
     status = new File(destination).mkdir(); 
    } catch (Exception e) { 
     System.out.println("Fehler: " + e.getMessage()); 
    } 

    File document = new File(destination + "temp.doc"); 

    //Edit: Here is the solution..Thank you 
    document.createNewFile(); 

    } 
    static String createRandomPath(String path){ 
    UUID uuid = UUID.randomUUID(); 
    path = uuid.toString().replace('-', 'A').substring(0,9); 
    System.out.println(path); 
    return path; 
    } 
+0

Вы читали комментарии и ответы? – BalusC

0

Введите нижеприведенный код. Она будет работать

public class Test1{ 
    public static void main(String[] args) throws Exception 
    { 
     String path = null; 
     String destination = "/myfolder/test/" + createRandomPath(path); 
     try 
     { 
      boolean status; 
      status = new File(destination).mkdirs(); 
     } catch (Exception e) 
     { 
      System.out.println("Fehler: " + e.getMessage()); 
     } 

     File document = new File(destination + "/temp.docx"); 

     //Edit: Here is the solution..Thank you 
     document.createNewFile(); 

    } 

    static String createRandomPath(String path) 
    { 
     UUID uuid = UUID.randomUUID(); 
     path = uuid.toString().replace('-', 'A').substring(0, 9); 
     System.out.println(path); 
     return path; 
    } 

} 

Когда я запускаю выше код на NetBeans он создал файл "temp.docx" в "C: \ моя_папка \ тест \ b75ba657A"

Смежные вопросы