Уважаемые эксперты, этот вопрос связан сфайл, который находится внутри пакета, не открывая из приложения Java
Обновленный Вопрос
И я использовал два кода из:
Следующий код работает нормально, если я запускаю приложение от workspace
.
URL resource = Thread.currentThread().getContextClassLoader().getResource("resources/User_Guide.pdf");
File userGuideFile = null;
try {
userGuideFile = new File(resource.getPath());
if (Desktop.isDesktopSupported())
{
Desktop desktop = Desktop.getDesktop();
desktop.open(userGuideFile);
}
} catch (Exception e1) {
e1.printStackTrace();
}
Но если я копирую мой project.jar
в другое место, он не открывает файл и показывает в моем журнале как file is not found "c:\workspace\project...pdf"
. И я использовал следующий код из same page, Мой pdfReader читатель самана показывает исключение file is either not supproted or damaged
:
Код:
if (Desktop.isDesktopSupported())
{
Desktop desktop = Desktop.getDesktop();
InputStream resource = Thread.currentThread().getContextClassLoader().getResource("resources/User_Guide.pdf");
try
{
File file = File.createTempFile("User_Guide", ".pdf");
file.deleteOnExit();
OutputStream out = new FileOutputStream(file);
try
{
// copy contents from resource to out
}
finally
{
out.close();
}
desktop.open(file);
}
finally
{
resource.close();
}
}
Пожалуйста, дайте мне некоторое представление. Ваша помощь будет оценена по достоинству. Thank you
Примечание: Я попытался открыть файл *.txt
и работает нормально. Но не работает в PDF
и DOC
. Основная проблема заключается в том, что я запускаю приложение, меняя каталог рабочего пространства проекта. На самом деле я хочу сделать так: Ntebeans клавиатура-short-code документы, которая находится под Help
menu
другое место в пределах одной и той же рабочей области или в другом рабочем пространстве различных компьютерных – SpringLearner
То же компьютер другое место, например: 'мое рабочее пространство внутри E: \ workspace' и скопировать мой файл банку в' D: \ apps'. Я должен распространять свое приложение более чем на 50 компьютеров ... – Yubaraj
Новый путь содержит пробелы? –