Zarówno pliki jak i katalogi w języku Java reprezentowane są przez klasę java.io.File. Klasy File używamy aby sprawdzić, czy interesujący nas plik lub katalog istnieje, do tworzenia nowych plików oraz katalogów a także aby sprawdzić, czy dana instancja klasy File reprezentuje plik czy katalog. Klasa ta umożliwia także takie operacje jak kasowanie oraz zmianę nazwy, natomiast nie służy ona do odczytu czy zapisu z czy do pliku. O tym jak odczytać czy zapisać dane z czy do pliku dowiemy się w kolejnych częściach kursu.
Chciawszy wykonać dowolną operację na plikach czy katalogach musimy zacząć od utworzenia instancji klasy File, która to będzie interesujący nas plik lub katalog reprezentowała. Podstawowym konstruktorem klasy File jest konstruktor jednoargumentowy; argumentem tym jest ścieżka dostępu.
Aby utworzyć instancję klasy File reprezentującą plik o nazwie „Czarne oczy.mp3”, który to plik znajduje się w katalogu „Moja muzyka” na dysku „D” powinniśmy napisać:
File czarneOczy = new File("D:/Moja muzyka/Czarne oczy.mp3");
To, że utworzyliśmy obiekt klasy File nie oznacza bynajmniej, że taki plik czy katalog istnieje. Aby sprawdzić czy obiekt klasy File reprezentuje istniejący zbiór dyskowy (plik lub katalog) możemy użyć metody boolean exists(). Metoda ta zwraca wartość true jeśli plik lub katalog istnieje a false w przeciwnym przypadku.
Jeśli chcemy sprawdzić nie tylko czy wskazany zbiór dyskowy istnieje, ale także czy jest to plik, to powinniśmy użyć metody boolean isFile(). Metoda ta zwraca wartość true jeśli dany zbiór dyskowy istnieje i jest to plik a wartość false w przeciwnym przypadku. Analogicznie, metoda boolean isDirectory() pozwala nam sprawdzić czy zbiór dyskowy istnieje i czy jest to katalog. Aby więc sprawdzić czy istnieje plik „D:/Moja muzyka/Czarne oczy.mp3” moglibyśmy napisać:
if(czarneOczy.isFile()) System.out.println("Plik istnieje! Graj muzyko!");
Aby utworzyć plik reprezentowany przez instancję klasy File używamy metody boolean createNewFile(). Metoda ta zwraca wartość true jeśli plik został utworzony a false w przeciwnym przypadku. Przykładowo, plik nie zostanie utworzony, jeśli już istniał.
W celu utworzenia katalogu posłużymy się metodą boolean mkdir() lub boolean mkdirs(). Metoda mkdir() tworzy tylko i wyłącznie katalog wskazany bezpośrednio przez ścieżkę dostępu, natomiast metoda mkdirs() utworzy także w razie potrzeby wszystkie nadkatalogi. Obydwie metody zwracają wartość true jeśli katalog został utworzony a false w przeciwnym wypadku. Przykładowo, aby utworzyć katalog „D:/Moja muzyka/Ludowa”, przy założeniu że nie istnieje ani ten katalog ani katalog „D:/Moja muzyka”, powinniśmy napisać:
File muzykaLudowa = new File("D:/Moja muzyka/Ludowa"); muzykaLudowa.mkdirs();
Klasa File udostępnia jeszcze szereg innych metod, np. metodę File[] listFiles() która zwraca tablicę obiektów reprezentujących pliki i katalogi znajdujące się w katalogu dla którego wywołano tę metodę.
W ramach ćwiczenia otwórz teraz dokumentację klasy java.io.File i zapoznaj się z pozostałymi metodami. Umiejętność posługiwania się dokumentacją klas jest podstawową umiejętnością programisty. Skorzystaj z okazji aby tę umiejętność nabywać. Odnajdź w tej dokumentacji metody niezbędne do implementacji programu kasującego ze wskazanego katalogu i wszystkich podkatalogów pliki z rozszerzeniem „tmp” i zaimplementuj taki program.
„Chciawszy” ??? Co to za słowo? Proponuję zastąpić je bardziej poprawnym „chcąc”
Właściwie to do czego zmierzasz? Normalne słowo jak każde inne.
Ponieważ takie słowo nie istnieje. Jedynie, że masz specjalny słownik:)
Gdyby betony od lingwistyki i poprawności istnieli już w powiedzmy XIX w. to nadal mówilibyśmy 'krasna dziewoja’ a nie 'niezła laska’. Język i nasza wymowa również ta 'pisana’ ciągle sie zmienia a słowniki to co najwyżej są wzorce a nie wyrocznie. Kto pisze programy tłumaczy lub czyta tłumaczenia 'literatury fachowej’ to dopiero może się pochwalić znajomością słowotwórstwa 🙂
A co znaczy w języku polskim słowo string? No przecież takiego słowa nie ma więc teraz wszyscy poprawnie językowi programiści przestają pisać programy. A co biedne laski mają począć ze swoim string? no bo przecież wyrazów obcojęzycznych nie wolno odmieniać :)))))