2014-11-15 2 views
12

Я долгое время затмеваюсь, и я начал играть с IntelliJ Idea IDE.Чтение файлов с идеей Intellij IDE

Так что из моего понимания. Проект в IntelliJ такой же, как в рабочем пространстве Eclipse. Кроме того, модуль в IntelliJ является эквивалентом проекта в eclipse.

Я создал проект в IntelliJ, до сих пор не знает, почему есть папка ЦСИ в ней, если она должна быть рабочей областью ...

Затем я создаю модуль в проекте. Я создал класс внутри src модуля. Код, который я сделал внутри класса, следующий:

import java.io.File; 
import java.io.FileNotFoundException; 
import java.util.Scanner; 

public class MainClass { 
    public static void main(String[] args) throws FileNotFoundException { 
     System.out.println("Hello World!"); 
     Scanner input = new Scanner(new File ("test123.txt")); 
     String answer = input.nextLine(); 
     System.out.println(answer); 
    } 
} 

Проблема в том, что я получаю сообщение об ошибке, пытаясь прочитать файл. Я попытался поместить файл .txt в свой файл src, который находится внутри модуля и вне файла src, но внутри модуля. Но в обоих случаях файл не найден. Да, код работает, я пробовал его на Eclipse, и он отлично работает. Имя файла также написано правильно.

Вот фотография моего проекта/рабочего пространства, если это полезно:

Picture

Я извиняюсь, если изображение слишком мало, вы можете найти большую версию здесь: http://oi60.tinypic.com/jg1g60.jpg

+0

При запуске проекта ваш каталог по умолчанию является корнем вашего проекта. Таким образом, ваш файл находится в './FirstJavaProgram/src/yourfile.xt'. Кстати, это очень плохая идея, так как позже вы, вероятно, упакуете свое приложение в банку, а затем путь к файлу не будет существовать на диске, когда вы фактически запустите свое приложение. –

+0

Но не является ли проект IntelliJ эквивалентом рабочего пространства в Eclipse? А модуль в IntelliJ является эквивалентом проекта в eclipse? Так разве не имеет смысла, что текстовый файл должен быть расположен внутри модуля? – ashimashi

ответ

14

Просто переместите файл непосредственно в папку проекта, которая вызывает «Java» (так что основная папка) (рядом с полосой размыты синим цветом: P)

, или если это не поможет, переместите test123.txt файл в FirstJav Каталог aProgram

вы можете также изменить имя файла в одном из них:

1) src/test123.txt

2) FirstJavaProgram/src/test123.txt

Я не уверен, какой из них будет хорошо в вашем случае.

+0

Я переместил его в папку проекта Java и сделал трюк. Но почему он там работает? Не должна быть папка проекта как «Рабочая область». Если я хочу создать несколько программ для выполнения разных задач, они должны быть разными модулями внутри проекта Java, правильно? Не будут ли перепутаны текстовые файлы? Разве дело не в том, что проект содержит несколько модулей, которые выполняют разные несвязанные задачи? – ashimashi

+0

Я знаю, что обычно огромные проекты делятся на более мелкие модули, но тогда Maven является основным используемым инструментом. Я никогда не принимал участия в таком большом проекте, потому что на данный момент я просто любитель: P Вы правы. Тем не менее, я бы предложил вам взять Maven и начать использовать его, это удивительно полезно и может помочь вам с хранением файла – azalut

+0

Я чувствую, что вы используете Eclipse или NetBeans. IntelliJ IDEA отличается от проектного подхода. В eclipse/netbeans были левые панели, в которых были показаны все ваши проекты. У IntelliJ нет такой функции. Вы открываете только ** ONE ** проект в одном приложении/окне IntelliJ IDEA. Естественно, вы можете открыть несколько проектов: File-> Reopen project-> choose_some_project-> нажмите Открыть в новом окне – azalut

11

Вместо этого используйте полный путь к файлу.

Щелкните правой кнопкой мыши на своем файле в вашем проекте, выберите «Копировать путь» и вставьте его в путь к файлу.

EDIT: Вы также можете использовать относительный путь для своего файла. Если ваш файл находится в resources/, вы можете использовать форму ./resources/yourfile.txt.

├── resources 
│   └── test123.txt 
└── src 
    ├── MainClass.java 
+0

. Это сделало трюк. Но это не сработает, если я переведу модуль в другое место или отправлю его другому человеку. – ashimashi

+0

В этот момент подумайте о том, чтобы позволить конечному пользователю предоставить путь в процессе работы программы. Жесткое кодирование пути обычно является последним усилием. – Makoto

+1

Нет ли альтернативы, например, в Eclipse, где файл может храниться вне папки src, и я мог бы просто назвать его просто по имени? Без необходимости указывать путь и не устанавливать его за пределы модуля – ashimashi

3

создать каталог "files" сделать все файлы внутри этого каталога. Выберите папку и нажмите правой выберите -> Отметить каталог Как -> Ресурсы корень :)

1

Инструкции

  1. Просто щелкните правой кнопкой мыши на папке проекта (на самом верху папки), затем выберите «Создать> Каталог». Укажите имя, например «ресурсы».

enter image description here

  1. (необязательно) После того, как папка создается затем правой кнопкой мыши «ресурсы» каталог, а затем выберите «New> Справочник» и создать «изображения» каталога.
  2. Перетащите свой файл изображения в папку «images» или «resources» , которую вы только что создали. Ссылка на ваш новый файл проекта с кодом File myFile = new File("./resources/images/newfile.txt");
Смежные вопросы