W10

W10, wydrukowac
[ Pobierz całość w formacie PDF ]
//-->Aplikacje w Javie – wykład 10Strumienie (Klasa Files, Formatter, serializacja obiektów)Wątki (tworzenie i uruchamianie, zadania i wykonawcy)Treści prezentowane w wykładzie zostały oparte o:●Barteczko, JAVA Programowanie praktyczne od podstaw, PWN, 2014●●C. S. Horstmann, G. Cornell, Java. Podstawy, Helion, Gliwice 20081KlasaFiles●Strumienie we/wy są użyteczne, ale wiele operacji na plikach łatwiej jestwykonywać przy pomocy statycznych metod klasyFilesz pakietujava.nio.file(To jest inna klasa niżFile).Zapewnia ona ulepszonąreprezentację nowoczesnych systemów i obiektów plikowych (m.in. większąliczbę arybutów obiektów plikowych, obsługę linków symbolicznych) i wprzeciwieństwie do klasyFiledostarcza metod wejścia-wyjścia dla plików.Większość metod klasyFilesma argumenty typuPath,reprezentują oneścieżki obiektów plikowych (plików, katalogów) w sposób niezależny odkonkretnego systemu plikowego. Ścieżki te uzyskujemy przy pomocy metodygetz klasyPaths.Przykłady działania dla systemu Windows:Paths.get("C:/Temp/plik1.txt"); //absolutna ścieżka do plikuPaths.get("in1.txt");Paths.get(".");Paths.get("/");Paths.get("/Temp");Paths.get("Temp");//plik in1.txt z bieżącego katalogu//katalog bieżący//główny katalog (root) bieżącego dysku//katalog Temp bieżącego dysku//podkatalog Temp bieżącego katalogu●Paths.get("../p2.txt"); //p2.txt z nadkatalogu bieżcego kataloguPaths.get("C:", "Temp", "p.txt"); //plik C:\Temp\p.txt2KlasaFiles- metodyKOPIOWANIE PLIKÓW.MetodaFiles.copy(Path source, Path target, CopyOption... options)umożliwia kopiowanie plików z uwzględnieniem podanych opcji:REPLACE_EXISTING -zastąpienie pliku w przypadku, gdy docelowy plikistnieje (domyślnie wyjatekFileAlreadyExistsException)COPY_ATTRIBUTES -dla kopii pliku mają być zachowane atrybutyoryginałuMetodaFiles.move()- pozwala na zmianę nazwy lub umiejscowienia pliku.import java.nio.file.*;import static java.nio.file.StandardCopyOption.*;public class FcopyDemo{static void copyFile(String srcFn, String destFn,CopyOption... opt) throws IOException{Files.copy(Paths.get(srcFn), Paths.get(destFn), opt);}3KlasaFiles- metodypublic static void main(String[] args)throws IOException{copyFile("in1", "out2"); //wyjatek jeśli out2 istniejecopyFile("in1", "out1", REPLACE_EXISTING);//jeśli out1 istnieje to będzie zastąpionycopyFile("in1", "/Temp/in1",COPY_ATTRIBUTES);//kopiuje in1 do katalogu Temp z zachowaniem atrybutów}}PRZETWARZANIE WIERSZY PLIKU TEKSTOWEGO.Metodastatic List<String>readAllLines(Path path, Charset cs)zwraca listę wszystkich wierszy pliku, wymagane jest podanie strony kodowej jakoobiektu klasyCharset(domyślna strona kodowaCharset.defaultCharset())for (String line: Files.readAllLines(Paths.get("in1"),Charset.defaultCharset()) )System.out.println(line);4KlasaFiles- metodyCZYTANIE I ZAPISYWANIE BAJTÓW.MetodaFiles.getAllBytes(Path)zwracazawartość pliku jako tablicę bajtów.Tablicę możemy zapisać do plikustatic Path write(Path path, byte[] bytes, OpenOption... options)Z metod tych korzystamy, gdy działamy na plikach binarnych, ale można ich użyćrównież do plików tekstowych. Dokonajmy zamiany znaków tabulacji na spację w pliku.OperacjereadAll...()jednokrotnie przetwarzają i od razu zamykaja pliki (tak samoFiles.write(...)).void tabToSpace(String fname) throws IOException {Path fpath = Paths.get(fname);byte[] cont = Files.readAllBytes(fpath);for(int i=0; i<cont.lenght; i++){if(cont[i]==0x09) cont[i] = (byte) ' ';//09 to hex kod znaku tabulacji}Files.write(fpath, cont);}5 [ Pobierz całość w formacie PDF ]
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • diabelki.xlx.pl
  • Podobne
    Powered by wordpress | Theme: simpletex | © Spojrzeliśmy na siebie szukając słów, które nie istniały.