2015-06-28 3 views
-3

Мне нужно написать программу, которая запрашивает имя файла текстового документа с номером, а затем вычисляет средний, средний и т. Д. Из этого набора данных. Я написал программу так, чтобы она выполнялась корректно, когда я ввожу полный путь, такой как «C: \ Users \ COSC \ Documents \ inputValues2.txt», однако он не будет работать, когда я просто input inputValues2.txt. Я изучал разные между ними, но я не совсем понимаю, как это исправить. Так как он работает правильно, в противном случае я не считаю, что это проблема с кодом, но я новичок в этом, поэтому я могу ошибаться.Относительный/абсолютный путь в Java

+4

Пожалуйста, разместите код своей программы, чтобы мы могли помочь вам лучше. – JackWhiteIII

+1

Надеюсь, комментарии в [этом примере] (http://stackoverflow.com/a/11372350/1057230), пролить свет на тему –

ответ

1

Ваша программа должна знать полный путь, чтобы найти файл. Это не просто поиск вашего компьютера для файла «inputValues2.txt». Он должен точно знать, как туда добраться. Если бы вы захотели, вы могли бы переместить файл в папку проекта, а затем вы могли бы просто написать «inputValues2.txt» для доступа к нему. Обычно я создать папку под названием «Рес» в моей папке проекта, а затем скажем, я пытаюсь создать изображение:

Image i = new Image("res/img.png"); 
+0

, так есть ли способ исправить это? или я должен всегда предоставлять полный путь? – coscdummy

+1

См. Править @coscdummy –

+1

спасибо, спасибо! Я сохранил файл в папке проекта, и теперь он работает правильно, просто введя inputValues2.txt! Прошу прощения, если это был глупый вопрос. – coscdummy

-1

Ваш файл должен быть в классе-пути. Это находится в том же каталоге, в котором находится ваш основной класс.

Рекомендуемая практика состоит в том, чтобы поместить его в каталог Resources внутри вашего класса, затем вы можете получить к нему доступ через "Resources/inputValues2.txt".

+2

@Downvoter Ухаживать за комментариями. – Mordechai

+0

Не downvoter, но обратите внимание, что OP говорит «запрашивает имя файла», что означает, что файл не известен во время сборки. Кроме того, вы можете захотеть использовать свои ресурсы в пакетах точно так же, как ваш код, чтобы избежать nameclash. –

Смежные вопросы