Создание файла вызывает проблемы, File.getPath (), кажется, не работает - PullRequest
1 голос
/ 18 июня 2009

Я пытаюсь создать файл резервной копии для файла HTML на веб-сервере.

Я хочу, чтобы резервная копия находилась в том же месте, что и существующий файл (это быстрое решение). Я хочу создать файл, используя Файл file = new File (PathName);

public void backUpOldPage(String oldContent) throws IOException{
            // this.uri is a class variable with the path of the file to be backed up
    String fileName = new File(this.uri).getName();
    String pathName = new File(this.uri).getPath();
    System.out.println(pathName);
    String bckPath = pathName+"\\"+bckName;

    FileOutputStream fout;      

    try
    {
        // Open an output stream
        fout = new FileOutputStream (bckFile);
        fout.close();       
    }
    // Catches any error conditions
    catch (IOException e)
    {
        System.err.println ("Unable to write to file");
        System.exit(-1);
    }
}

Но если вместо этого мне нужно установить bckPath следующим образом, он будет работать.

String bckPath = "C://dev/server/tomcat6/webapps/sample-site/index_sdjf---sd.html";

Я работаю в Windows, но не уверен, что это имеет значение.

Результат String bckPath = pathName + "\" + bckName; is bckPath = C: \ dev \ server \ tomcat6 \ webapps \ sample-site \ filename.html - это не приводит к созданию нового файла.

Ответы [ 2 ]

1 голос
/ 18 июня 2009

Используйте File.pathSeparator, так что вам не нужно беспокоиться о том, какую ОС вы используете.

0 голосов
/ 18 июня 2009

Попробуйте использовать File.getCanonicalPath() вместо простого getPath(). Это помогает, если оригинальный путь указан не полностью.

Что касается слешей, / или \ или File.pathSeparator, это не вызывает проблемы, поскольку они одинаковы для Windows и Java. (И вы не определяете bckFile в своем коде, только bckPath. Также используйте getCanonicalPath() для вновь созданного bckPath.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...