Zarządzanie katalogami i ścieżkami

Wejście/wyjście i strumienie w Javie

Alex Liu

Software Developer Engineer

Kluczowe pojęcia

  • Katalogi organizują pliki i dane
  • Ścieżki określają lokalizację plików i katalogów
  • Klasa File może reprezentować plik lub katalog
    • Tworzony zasób zależy od wywołanej metody (mkdir() dla katalogów i createNewFile() dla plików)

Monitor komputerowy z kilkoma ikonami katalogów

Wejście/wyjście i strumienie w Javie

Tworzenie katalogów

  • Zaimportuj klasę File
    import java.io.File;
    
  • Tworzy obiekt File reprezentujący katalog
    File newDirectory = new File("myDirectory");
    
  • Metoda .mkdir() tworzy katalog w systemie plików
    boolean created = newDirectory.mkdir();
    
  • Zwraca true, jeśli katalog został utworzony pomyślnie
  • Zwraca false, jeśli katalog już istnieje lub nie można go utworzyć
Wejście/wyjście i strumienie w Javie

Listowanie plików w katalogu

  • Użyj .listFiles(), aby wylistować pliki w katalogu

$$

// Creates a `File` object representing the directory `myDirectory`
File dir = new File("myDirectory");
//Retrieves an `array` of `File` objects representing the contents of `myDirectory`
File[] files = dir.listFiles();
  • Zwraca array obiektów File, jeśli katalog istnieje
  • Zwraca null, jeśli katalog nie istnieje
Wejście/wyjście i strumienie w Javie

Pobieranie ścieżki względnej pliku

  • Ścieżka względna: lokalizacja pliku/katalogu względem bieżącego katalogu roboczego
// Creates a `File` object for `sample.txt` inside `myDirectory`
File file = new File("myDirectory/sample.txt");
// Retrieves the relative path of the file as a String
String path = file.getPath();
System.out.println(path);
  • Zakładamy, że myDirectory już istnieje; w przeciwnym razie tworzenie pliku lub zapis zakończy się błędem

  • Wynik:

    myDirectory/sample.txt
    
Wejście/wyjście i strumienie w Javie

Praca ze ścieżkami bezwzględnymi

  • Ścieżka bezwzględna: pełna ścieżka od katalogu głównego systemu plików

$$

// Creates a `File` object for `sample.txt` inside `myDirectory`
File file = new File("myDirectory/sample.txt");
// Retrieves the absolute path of the file as a String
String absPath = file.getAbsolutePath();
System.out.println(absPath);
  • Wynik:
/user/home/myDirectory/sample.txt
Wejście/wyjście i strumienie w Javie

Czas na ćwiczenia!

Wejście/wyjście i strumienie w Javie

Preparing Video For Download...