naukaJavy.pl

  • Zwiększ rozmiar czcionki
  • Domyślny  rozmiar czcionki
  • Zmniejsz rozmiar czcionki
Home Kurs języka Java

Operacje na plikach

Email Drukuj

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.

 

 

Komentarze  

 
+30 2011-02-10 14:29
"Chciawszy" ??? Co to za słowo? Proponuję zastąpić je bardziej poprawnym "chcąc"
 
 
-23 Mariusz Lipiński 2011-02-10 15:30
Właściwie to do czego zmierzasz? Normalne słowo jak każde inne.
 
 
+8 2012-11-21 16:05
Ponieważ takie słowo nie istnieje. Jedynie, że masz specjalny słownik:)
 
 
-4 2015-03-04 16:31
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 :)
 
 
-3 2015-03-04 16:42
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ć :)))))
 
 
+1 Wojciech 2018-07-20 15:35
Mariuszu, witaj!
Od kilku dni zacząłem uczyć się Javy - korzystam z Twojego kursu. Jestem bardzo wdzięczny za pracę, jaką podjąłeś dla dobra wszystkich początkujących. Podziwiam swobodę, z jaką wprowadzasz nowe pojęcia - objaśniając od razu ich role w języku.
Programowałem dotychczas w Fortranie, Pascalu, Basicu, Visual Basicu, ale ani w PHP, ani w Javie! Teraz potrzebuję zmienić moje strony na dostosowane do urządzeń mobilnych, dlatego muszę poznać Javę. Dziękuję zatem za Twój kurs.

Co do błędów językowych - któż ich nie popełnia! Tym niemniej warto i w tej dziedzinie doskonalić się. Jeśli zatem ktoś ma odwagę podzielić się z Tobą zauważonym błędem - to warto skorzystać, a dzięki temu i w tej dziedzinie wzrastać ku pełni wiedzy.
Myślę, że podobnie jak w języku programowania wyrazy i zasady ich stosowania (należące do słownika tegoż języka i do jego gramatyki - odpowiednio), służące poprawnemu komunikowaniu się z komputerem, zostały ustalone przed nami, a nowe wyrazy i zasady są tworzone przez wąskie grono odpowiedzialnyc h za rozwój Javy, podobnie w języku ojczystym nie przez nas zostały uformowane (w wyniku skomplikowanego procesu rozwoju języka, jego gramatyki...) wyrazy i zasady ich odmieniania, aby służyły komunikowaniu się z innymi osobami. Słowotwórstwo natomiast musi uwzględniać fakt rozwoju tegoż języka, a w tym fakt odrzucania form niezgodnych z jego regułami, z jakimś wyczuciem większości odnośnie tego, co jest poprawne, a co nie.
Wyraz "chcieć" należy do takiej klasy czasowników jako podklasy wyrazów, w której dla wyrażenia imiesłowu czasu teraźniejszego stosuje się formę "chcąc", a nie "chciawszy" (podobnie w tej podklasie np. dla "wiedzieć" mamy "wiedząc" a nie "wiedziawszy", itd).

Z całego serca dziękuję za Twój wkład w nasz świat. Co by to było, gdyby ciebie nie było!
Wojciech
 

Reklama

Wiadomości

Vishal Sikka, CTO w firmie SAP zaapelował o autentyczne, pełne przekazanie zarządzania rozwojem języka i platformy Java w ręce zrzeszenia firm działającego na zasadzie równoprawności - zrzeszenia nie zdominowanego przez firmę SUN, czy obecnie Oracle (SUN został kupiony przez Oracle).

Jednocześnie zaapelował o udostępnienie kodu źródłowego Maszyny Wirtualnej Javy na zasadach open-source.

SAP zdecydowany jest zainwestować znaczne środki w rozwój Javy, jeśli tylko postulaty te zostaną spełnione – dodał.

Co to jest

Apache Lucene Java to biblioteka open-source napisana w języku Java. Lucene służy do implementacji mechanizmów wyszukiwania pełnotekstowego – taki mały Google, który możemy mieć we własnej aplikacji.


© Wszelkie prawa zastrzeżone dla Mariusza Lipińskiego

kontakt: mariusz.lipinski@naukajavy.pl | strona domowa: www.mariuszlipinski.pl