читать файл по относительному пути, используя FileInputStream - PullRequest
0 голосов
/ 14 декабря 2018

Я хочу прочитать файл с относительного пути.Я попробовал следующий код

InputStream in = new FileInputStream(".//Audio//w1.wav");

Ошибка:

java.io.FileNotFoundException: .\Audio\w1.wav (The system cannot find the path specified)

Я также попытался указать путь как "Audio / w1.wav", "Audio // w1.wav"но это не работает.

Как я могу заставить систему найти файл?

Ответы [ 2 ]

0 голосов
/ 15 декабря 2018

Кажется, проблема в неправильном пути.Чтобы отследить это, начните с выяснения, где находится ..Для этого выполните:

System.out.println(new File(".").getAbsolutePath());

Это должно напечатать весь путь, в котором вы находитесь, начиная с c:\ или / в зависимости от вашей ОС.

Теперь взгляните наэта папка в проводнике, это все, что вы ожидаете в . в этой папке?

  • Если да: проверьте на опечатки и переключитесь между \ и / и проверьте права доступа к файлу?
  • Если нет: настройте путь или переместите файлы.
0 голосов
/ 14 декабря 2018

Вы можете так как-то так получить файл,

ClassLoader resource = this.getClass().getClassLoader();
URL path = this.getClass().getResource("/Audio/w1.wav");

//Since you have the path you can get the file as you want
//To get the file,  
File file = new File(path.getFile());
...