найти расположение файла в java.io.FileNotFoundException - PullRequest
1 голос
/ 14 октября 2011

У меня есть это Java-приложение, и я использую внешний Jar-файл, и одна из функций создает исключение java.io.FileNotFoundException. У меня есть файл, который он ищет, но я не знаю, куда мне его положить. Есть ли какая-нибудь программа, которую я могу использовать, которая может дать мне местоположение пути, на который она пытается посмотреть? Благодарю.

Ответы [ 4 ]

2 голосов
/ 14 октября 2011

если вы запускаете приложение в отладчике, большинство отладчиков позволяют прерывать работу при возникновении исключения. Затем вы можете проверить локальное состояние приложения, чтобы определить соответствующий путь.

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

0 голосов
/ 14 октября 2011
  • Вам не нужен файл .class класса Java, содержащий этот метод. Если да, декомпилируйте его для просмотра исходного кода. Это один такой декомпилятор

  • Кроме того, попробуйте поискать любой файл конфигурации, например, файл свойств, который может содержать информацию о пути.

  • Вы можете найти текущий рабочий каталог в System.getProperty("user.dir") и выполнить пробную версию, поместив туда файл.
0 голосов
/ 14 октября 2011

Ну, я сомневаюсь, что он жестко запрограммирован, так что это, вероятно, не покажет вам, куда именно он смотрит ... но вы можете декомпилировать класс, используя JAD .Это может подсказать вам, куда он смотрит.

0 голосов
/ 14 октября 2011

Если стек исключений не дает подсказки о том, где он ищет файл и размещает его в общих местах, например,

  • в каталоге пользователя
  • домашний каталог
  • текущий каталог и т. Д.

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

...