2014-11-15 18 views
12

Jestem użytkownikiem od zaćmienia czasu i zacząłem grać z IntelliJ Idea IDE.Czytanie plików z pomysłem Intellij IDE

Tak, od mojego zrozumienia. Projekt w IntelliJ jest taki sam jak Eclipse Workspace. Jak również moduł w IntelliJ jest odpowiednikiem projektu w zaćmieniu.

I stworzył projekt w IntelliJ, nadal nie wiem, dlaczego tam jest folder src w nim, jeśli to ma być roboczy ...

Następnie utworzyć moduł w projekcie. Stworzyłem klasę wewnątrz src modułu. Kod, który napisałem w klasie, jest następujący:

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); 
    } 
} 

Problem polega na tym, że pojawia się błąd podczas próby odczytu pliku. Próbowałem umieścić plik .txt w moim pliku src, który znajduje się wewnątrz modułu i poza plikiem src, ale wewnątrz modułu. Ale w obu przypadkach plik nie zostanie znaleziony. Tak, kod działa, próbowałem go na Eclipse i działa dobrze. Nazwa pliku jest również poprawnie napisana.

Oto zdjęcie mojego projektu/obszaru roboczego, jeśli jest to pomocne:

Picture

przepraszam, jeśli obraz jest zbyt mała, można znaleźć większą wersję tutaj: http://oi60.tinypic.com/jg1g60.jpg

+0

Po uruchomieniu projektu domyślnym katalogiem jest katalog główny projektu. Twój plik znajduje się w './FirstJavaProgram/src/yourfile.xt'. Jest to naprawdę zły pomysł, ponieważ później prawdopodobnie spakujesz aplikację do słoika, a ścieżka pliku nie będzie istniała na dysku, gdy uruchomisz aplikację. –

+0

Ale czy projekt w IntelliJ nie jest odpowiednikiem obszaru roboczego w Eclipse? A moduł w IntelliJ jest odpowiednikiem projektu w zaćmieniu? Czy nie ma sensu umieszczanie pliku tekstowego w module? – ashimashi

Odpowiedz

14

Wystarczy przenieś plik bezpośrednio do folderu projektu, który wywołuje "Java" (czyli do głównego folderu) (obok zamazanego na niebiesko paska: P)

lub jeśli to nie pomoże, przenieś test123.txt plik do FirstJav Katalog wprowadzenie programu

można również zmienić nazwę pliku, do jednego z nich:

1) src/test123.txt

2) FirstJavaProgram/src/test123.txt

nie jestem pewien, który z nich będzie dobrze w Twoim przypadku.

+0

Przeniosłem go do folderu projektu Java i to wystarczyło. Ale dlaczego tam działa? Folder projektu nie powinien być jak "Obszar roboczy". Jeśli chcę tworzyć wiele programów do różnych zadań, powinny one być różnymi modułami w projekcie Java, prawda? Czy pliki tekstowe nie zostaną pomieszane? Czy celem projektu nie jest posiadanie wielu modułów, które wykonują różne niepowiązane zadania? – ashimashi

+0

Wiem, że zwykle wielkie projekty są podzielone na mniejsze moduły, ale głównym narzędziem jest Maven. Nigdy nie brałem udziału w tak dużym projekcie, ponieważ jestem amatorem: P Masz rację. Sugerowałbym jednak, abyś podjął Mavena i zaczął go używać, jest niesamowicie przydatny i może ci pomóc w przechowywaniu plików – azalut

+0

. Czuję, że korzystasz z Eclipse lub NetBeans. IntelliJ IDEA różni się znacznie w podejściu do projektu. W Eclipse/netbeans był lewy panel, w którym pokazano wszystkie twoje projekty. IntelliJ nie ma takiej funkcji. Otwierasz ** ** projekt ** na jedną aplikację/okno IntelliJ IDEA. Oczywiście, możesz otworzyć wiele projektów: Plik-> Otwórz ponownie projekt-> wybierz_some_projekt-> naciśnij Otwórz w nowym oknie – azalut

11

Zamiast tego należy użyć pełnej ścieżki pliku.

Kliknij prawym przyciskiem myszy swój plik w projekcie, wybierz "Kopiuj ścieżkę" i wklej go na ścieżkę do pliku.

EDYCJA: Można również użyć względnej ścieżki do pliku. Jeśli twój plik znajduje się w resources/, możesz użyć formularza ./resources/yourfile.txt.

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

To się udało. Ale nie zadziała, jeśli przeniosę moduł do innej lokalizacji lub wyślę go innej osobie. – ashimashi

+0

W tym momencie należy rozważyć umożliwienie użytkownikowi końcowemu samodzielnego podania ścieżki do działania programu. Twarde kodowanie ścieżki jest zazwyczaj wysiłkiem ostatniej próby. – Makoto

+1

Czy nie ma alternatywy, jak w Eclipse, gdzie plik może zostać zapisany poza folderem src i mógłbym po prostu nazwać go po prostu jego nazwę? Bez konieczności podawania ścieżki i bez konieczności wyjmowania z modułu – ashimashi

3

tworzenie katalogu "pliki" powoduje, że wszystkie pliki znajdują się w tym katalogu. Wybierz katalog i kliknij prawym wybierz -> Zaznacz katalog As -> Dział korzenia :)

1

Instrukcje

  1. Wystarczy kliknąć prawym przyciskiem myszy na katalogu projektu (na samej górze folderu), a następnie wybierz "Nowy> Katalog". Podaj nazwę, na przykład "zasoby".

enter image description here

  1. (opcjonalnie) Gdy folder jest generowany kliknij prawym przyciskiem myszy "zasobów" katalogu, a następnie wybrać "Nowy> Katalog" i utworzyć katalogu "Images".
  2. Przeciągnij i upuść plik obrazu w utworzonym właśnie folderze "images" lub "resources" . Odwołanie do nowo dodanego pliku projektu z kodem File myFile = new File("./resources/images/newfile.txt");