"Oh, Rishi! Halo!"

"Hai, Amigo! Piye kabare?"

"Great. Bilaabo wis ngandhani aku akeh perkara sing menarik babagan File, lan kepiye cara nggarap."

"Nalika kedaden, Aku duwe soko kanggo nambah ing topik iki."

"Tenan? Banjur aku kabeh kuping."

"Oke, rungokna. Jawa terus berkembang. Para pangembang terus-terusan golek cara anyar kanggo nindakake macem-macem kanthi luwih efisien. Ing Java 7, dheweke nambah alternatif kanggo kelas File."

File, Path - 1

"Alternatif?"

"Yep. Dheweke njupuk kelas File minangka basis, nambah sawetara barang anyar, ngganti jeneng metode kasebut, banjur uga dibagi dadi loro. Dadi saiki ana rong kelas anyar: Path lan FilesPath bener-bener analog anyar saka File. kelas, lan File minangka kelas utilitas (analog karo kelas Arrays and Collections). Kabeh metode statis saka kelas File pindhah menyang kana. Nglakoni kanthi cara iki 'luwih bener' babagan OOP."

"Inggih, yen ing babagan OOP, banjur oke. Dadi apa sing diganti?"

"Kaping pisanan, dheweke mutusake ora ngasilake metode sing ngasilake  obyek String  lan File . Ing kelas Path  , kabeh metode ngasilake Path .

"Kapindho, dheweke mindhah akeh metode sarana statis menyang kelas Files ."

"Kaping telu, dadi luwih trep kanggo nggarap jalur sing relatif."

"Iki dhaptar metode:"

Metode saka kelas Path Katrangan
boolean isAbsolute() Ngasilake bener yen path punika Absolute.
Path getRoot() Ngasilake root path saiki, yaiku direktori paling dhuwur.
Path getFileName() Ngasilake jeneng berkas saka path saiki.
Path getParent() Ngasilake direktori saka path saiki.
boolean startsWith(Path other) Priksa manawa jalur saiki diwiwiti karo jalur sing wis dilewati.
boolean endsWith(Path other) Priksa manawa jalur saiki rampung karo jalur sing dilewati.
Path normalize() Normalizes path saiki. Contone, ngowahi «c:/dir/dir2/../a.txt» dadi «c:/dir/a.txt»
Path relativize(Path other) Ngitung path relatif saka rong dalan, yaiku "prabédan antarane path"
Path resolve(String other) Ngatasi path absolut nggunakake path saiki lan relatif.
URI toUri() Ngasilake URI yen path / file saiki.
Path toAbsolutePath() Ngonversi path menyang path absolut yen relatif.
File toFile() Ngasilake obyek File sing cocog karo obyek Path saiki.

"Lan dalan saiki - apa iku?"

"Iki minangka path sing diterusake menyang konstruktor obyek Path sing metode kasebut diarani."

"OK. Dadi metode apa sing diduweni kelas Files ?"

"Apa sampeyan kesusu menyang ngendi wae? Aku bakal ngandhani sampeyan saiki. Iki cara sing paling penting: "

Metode saka kelas Files Katrangan
Path createFile(…) Nggawe file ing disk.
Path createDirectory(…) Nggawe direktori.
Path createDirectories(…) Nggawe direktori lan kabeh subdirektori.
Path createTempFile(…) Nggawe file sementara.
Path createTempDirectory(…) Nggawe direktori sementara.
void delete(Path path) Mbusak file.
Path copy(Path source, Path target,…) Nyalin file.
Path move(Path source, Path target,…) Ngalih file.
boolean isSameFile(Path, Path) Mbandhingake rong file.
boolean isDirectory(Path) Apa Path minangka direktori?
boolean isRegularFile(Path) Apa Path iku file?
long size(Path) Ngasilake ukuran file.
boolean exists(Path) Apa ana obyek kanthi jeneng sing padha?
boolean notExists(Path) Apa obyek kanthi jeneng sing padha ora ana?
long copy(InputStream, OutputStream) Nyalin bita saka InputStream menyang OutputStream.
long copy(Path, OutputStream) Nyalin kabeh bita saka Path menyang OutputStream.
long copy(InputStream, Path) Nyalin kabeh bita saka InputStream menyang Path.
byte[] read(InputStream, int initialSize) Maca array byte saka InputStream.
byte[] readAllBytes(Path path) Maca kabeh bita saka InputStream.
List<String> readAllLines(Path path,..) Maca file teks lan ngasilake dhaptar senar.
Path write(Path path, byte[] bytes,…) Nulis array byte menyang file.

"Carane menarik! Dadi akeh fungsi kelangan, lan kabeh ing panggonan sing padha."

"Inggih, umpamane sampeyan pengin ndownload file saka Internet, banjur dikirim menyang wong. Kanggo nindakake iki, trep banget kanggo nggawe file sementara ing disk lan nyimpen data sing wis diwaca."

"Apa angel ngundhuh file saka Internet?"

"Iku prasaja banget. Deleng conto iki:"

Kode
URL url = new URL("https://www.google.com.ua/images/srpr/logo11w.png");
InputStream inputStream = url.openStream();

Path tempFile = Files.createTempFile("temp-",".tmp");
Files.copy(inputStream, tempFile);

"Lan iku?"

"Ya, sampeyan ngarepake ndeleng apa? Mung ana 4 baris."

" Baris 1.  Nggawe obyek URL, sing URL file gambar dilewati.

" Baris 2.  A stream kanggo maca file (InputStream) dibukak ing obyek url.

" Baris 3. Cara  iki createTempFiledigunakake kanggo nggawe file sementara.

" Baris 4.  Metode Files.copy nyalin data saka  inputStream menyang tempFile. Mekaten."

"Akal!"

"Apik. Aku bungah sampeyan seneng. Aku mikir sampeyan bisa ngerti liyane saka cara dhewe. Lan aku bakal takon Diego kanggo menehi sawetara tugas bab mau.

"Oalah, iki link sing apik babagan materi iki"