Java и JSF, проверка наличия файла на сервере - PullRequest
0 голосов
/ 09 марта 2012

У меня есть веб-приложение, и я пытаюсь вернуть логическое значение файла .zip, который (успешно) генерируется на сервере.

Локально я запускаю это в Eclipse с Tomcat в Windows, но я развертываю его на Tomcat Server на компьютере с Linux.

        //.zip is generated successfully on the SERVER by this point
        File file1 = new File("/Project/zip/theZipFile.zip");

        boolean exists = file1.exists();// used to print if the file exists, returns false
        if (exists)
            fileLocation = "YES"; 
        else
            fileLocation = "No";

Когда я делаю это, он продолжает возвращать false на отладчике и на моей странице, когда я его распечатываю. Я уверен, что это как-то связано с путями к файлам, но я не уверен.

Как только я получу подтверждение существования zip, я могу легко использовать File.length (), чтобы получить то, что мне нужно.

Предположим, что все геттеры и сеттеры существуют, и JSF печатает. В основном это бэкэнд Java, с которым у меня небольшая проблема.

Спасибо за любую помощь! :)

Ответы [ 2 ]

1 голос
/ 09 марта 2012

Ваш путь не хорош. Попробуйте убрать ведущий / решить проблему См. Код теста для объяснений:

import java.io.*;
public class TestFile {

public static void main(String[] args) {

try {
//Creates a myfile.txt file in the current directory
File f1 = new File("myfile.txt");
f1.createNewFile();
System.out.println(f1.exists());

//Creates a myfile.txt file in a sub-directory
File f2 = new File("subdir/myfile.txt");
f2.createNewFile();
System.out.println(f2.exists());

//Throws an IOException because of the leading /
File f3 = new File("/subdir/myfile.txt");
f3.createNewFile();
System.out.println(f3.exists());

} catch(IOException e) {
System.out.println(e.getMessage());
}
}
}
0 голосов
/ 09 марта 2012

Отладка с помощью этого оператора

System.out.println("Actual file location : " + file1.getAbsolutePath());

Это скажет вам абсолютный путь к файлу, который он ищет

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