Работа с файлом в Eclipse - PullRequest
4 голосов
/ 13 ноября 2011

У меня есть инструкция для запуска программы в командной строке, например:

java SetTest < alice30.txt

Интересно, как это сделать в Eclipse. Я попытался поместить это в Run Configuration следующим образом:

enter image description here

Еще одна вещь, которую я не знаю, это где поместить этот файл (alice30.txt). Это в корне проекта или в папке src, где находятся исходные файлы?

Я знаю, что это вопросы для начинающих, но я застрял и мне нужна помощь.

EDIT : Как предложил @Kane, я передал File и открыл поток. Вместо:

Scanner in = new Scanner(System.in);

Я сейчас использую:

Scanner in = new Scanner(new File("alice30.txt"));

Ответы [ 4 ]

3 голосов
/ 13 ноября 2011

Вы можете передать полный путь к файлу в аргументах (например, c: /.../ alice30.txt))

2 голосов
/ 13 ноября 2011

Корневой каталог eclipse является базовым каталогом проекта (т. Е. Не каталогом src /, непосредственно в проекте).

Как правило, хорошо иметь папку ресурсов для txt, графики и т. Д.

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

Причина, по которой вы не работаете в Eclipse, заключается в том, что ваша командная строка / shell / dos / bash / независимо от того, что обрабатывает, создает для вас поток ввода из файла. Затмение не делает этого. Итак, из командной строки: < alice.txt означает «запустить эту программу без аргументов и создать поток для system.in», в то время как сделать это в Eclipse означает «запустить эту программу с двумя аргументами» <и alice.txt. «</p>

1 голос
/ 31 декабря 2017

Имея информацию из этой ссылки / страницы и несколько попыток, я выясняю способ передачи аргумента и файла, используя локальный маршрут, в eclipse Run -> Run Configurations .., хотя это не рекомендуется, как сказал Кейн.

Для моего случая: мне нужно сделать «$ java someClass tinyW.txt

В моем случае «tinyW.txt» является аргументом, поэтому в среде eclipse вы можете установить в меню «Выполнить» -> «Конфигурации запуска» -> «Аргументы» -> «аргументы программы»: / local address / tinyW.txt Для моего Ubuntu: /home/****/tinyW.txt enter image description here « Конфигурации RU -> Общие», нажать «Входной файл», использовать значок файловой системы и выбрать файл из локальных вычислений. Смотрите рисунок. Так во входном файле: /local_address/tinyT.txt. Мой случай: /home/***/tinyT.txt. Надеюсь, это также работает для вас. enter image description here

1 голос
/ 07 марта 2016

вам нужно сделать так: добавлять: импорт java.io.IOException; import java.nio.file.Paths;

, то: замените "Scanner in = новый сканер (System.in);" на "Scanner in = новый сканер (Paths.get (" alice30.txt "));" , и вам также нужно сделать это: "public static void main (String args []) вызывает IOException"

...