Создание файла в новом каталоге - PullRequest
0 голосов
/ 23 декабря 2009

Я придумал следующий код ... мой документ не создан. Я не получаю никаких сообщений об ошибках. Что касается 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;
  }

Ответы [ 4 ]

4 голосов
/ 23 декабря 2009

вам нужно вызвать 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
1 голос
/ 23 декабря 2009

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

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

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

0 голосов
/ 07 июня 2012

Запустите приведенный ниже код. Это будет работать

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: \ myfolder \ test \ b75ba657A"

0 голосов
/ 23 декабря 2009

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

 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;
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...