"Hai, Amigo. Suwe ora ketemu."

"Hai, Bilaabo. Kowe arep ngomong apa?"

"Dina iki aku arep nyritakake babagan nggarap file.  Java duwe kelas khusus (File) sing bisa digunakake kanggo ngatur file ing hard drive. Kanggo ngatur isi file, ana kelas liyane: FileInputStream, FileOutputStream, lsp. "

File, File, Path - 1

"Menarik. Nanging yen sampeyan ngomong 'ngatur file', apa tegese?"

"Iki mung sing bakal dak jelasake saiki. File bisa digawe, dibusak, diganti jeneng, lan liya-liyane. Sampeyan bisa ngirim obyek File kanggo meh kabeh kelas sing bisa digunakake (maca, nulis, ngganti) isi file. . Tuladhane:"

Sampeyan bisa ngirim jeneng berkas langsung menyang FileInputStream
FileInputStream input = new FileInputStream("c:/path/a.txt");
Utawa sampeyan bisa nggawe obyek File kanthi kapisah, banjur pass menyang FileInputStrea
File file = new File("c:/path/a.txt");
FileInputStream input = new FileInputStream(file);

"Nanging opsi kapindho luwih dawa. Aku isih ora ngerti apa kita kudu obyek file iki."

"Kanggo conto tartamtu iki, sampeyan bener. "Iki dudu conto carane sampeyan kudu nindakake, nanging carane sampeyan bisa nindakake.
Nanging mbayangno sampeyan kudu nampilake dhaptar kabeh file sing ana ing direktori tartamtu. Mangkene carane iki bisa ditindakake nggunakake obyek File:"

Kode
File folder = new File("c:/path/");
for (File file : folder.listFiles())
{
 System.out.println(file.getName());
}

"Apa listFiles () cara sing ngasilake dhaptar file ing folder sing dituduhake dening «c:/path/»?"

"Ya. Nanging programer biasane ngomong 'direktori'. Istilah 'folder' wiwit digunakake relatif anyar, nanging ing asas, loro istilah sing bener lan sampeyan bisa ngomong endi wae sing disenengi."

"OK. Lan apa getName () nindakake? Mbalekake jeneng file? Apa persis sing kalebu ing jeneng kasebut? Jeneng lengkap kalebu path, utawa mung jeneng file kasebut?"

"Mung jeneng file dhewe. Kanggo path lengkap, ana file.getAbsolutePath ()."

"Dadi cara liya sing ana ing kelas File?"

"Coba delok iki:"

Metode Katrangan
boolean isDirectory() Apa obyek File minangka direktori?
boolean isFile() Apa obyek kasebut file?
long length() Ngasilake ukuran file / dawa ing bita.
boolean createNewFile() Nggawe file kosong anyar yen file kanthi jeneng iki durung ana.
boolean mkdir() Nggawe direktori. Jeneng «mkdir» asalé saka «gawe direktori».
boolean mkdirs() Nggawe direktori lan kabeh subdirektori.
boolean delete() Mbusak file sing digandhengake karo obyek kasebut. Yen obyek kasebut minangka direktori, mula direktori kasebut bakal dibusak mung yen ora ana file.
void deleteOnExit() Nambahake file menyang dhaptar file khusus sing bakal dibusak kanthi otomatis nalika program metu.
File createTempFile(
String prefix,
String suffix,
File directory)
Nggawe file sauntara kanthi jeneng unik sing digawe kanthi acak, kaya «dasd4d53sd».
Paramèter tambahan yaiku ater-ater lan sufiks jeneng. Yen direktori ora ditemtokake, file kasebut digawe ing direktori OS khusus kanggo file sauntara.
boolean exists() Ngasilake bener yen file kanthi jeneng sing padha ana ing hard drive.
String getAbsolutePath() Ngasilake path lengkap berkas karo kabeh subdirektori sawijining.
String getCanonicalPath() Ngasilake path file kanonik.
Contone, ngowahi path «c:/dir/dir2/../a.txt» dadi «c:/dir/a.txt»
String[] list() Ngasilake macem-macem jeneng file sing ana ing direktori sing diwakili dening obyek saiki.
File[] listFiles() Ngasilake macem-macem file sing ana ing direktori sing diwakili dening obyek File saiki.
long getTotalSpace() Ngasilake jumlah total spasi (jumlah bita) ing disk sing ana file kasebut.
long getFreeSpace() Ngasilake jumlah ruang kosong (jumlah bita) ing disk sing ana file kasebut.
boolean renameTo(File) Ganti jeneng file, yaiku isi file kasebut bener-bener entuk jeneng anyar. Ing tembung liyane, sampeyan bisa ngganti jeneng file «c:/dir/a.txt» dadi «d:/out/text/b.doc».
String getName() Ngasilake mung jeneng berkas tanpa path.
String getParent() Ngasilake mung path (direktori) menyang berkas saiki, tanpa jeneng dhewe.
Path toPath() Ngasilake obyek Path sing cocog karo obyek File saiki.

"Wah! Ora daftar cilik banget, ya? Lan kayane sampeyan bisa nindakake akeh banget: nggawe lan mbusak file, ganti jeneng, ..."

"Dadi kanggo njaluk direktori file saiki, aku kudu nelpon getParent ()?"

"Ya, nanging ngasilake String - path file - dudu obyek File. Bener, kelas File duplikat meh kabeh metode: siji versi ngasilake String, liyane - obyek File. Priksa:"

File file = new File("c:/path/a.txt");
String directory = file.getParent();
File file = new File("c:/path/a.txt");
File directory = file.getParentFile();

Yen sampeyan duwe String kanthi path file lan sampeyan butuh obyek File , banjur gunakake konstruktor. Yen kahanan dibalik (sampeyan duwe obyek File nanging sampeyan butuh String), banjur gunakake getAbsolutePath (). Tuladhane:"

String path = "c:/a.txt";
File file = new File(path);
File file = new File("c:/a.txt");
String path = file.getAbsolutePath();

"Ngerti."

"Apik. Banjur ana tugas cilik kanggo sampeyan: tuduhake jeneng kabeh file sing ana ing direktori sing padha karo file saiki."

"Ora ana sing luwih gampang. Iki, deleng:"

Kode
//Some file
File originalFile = new File("c:/path/dir2/a.txt");

//An object representing the directory
File folder = originalFile.getParentFile();

//Print the file list on screen
for (File file : folder.listFiles())
{
 System.out.println(file.getName());
}

"Hmm. Bener."

"Nanging rada mbingungake yen kelas sing padha - File - digunakake kanggo file lan direktori. Sing ora logis kanggo aku."

"Iku makarya metu cara kanggo alasan sajarah. A direktori digunakake kanggo file khusus 'kosong' ing disk. Mesthi, saiki akeh wis diganti, nanging ora kabeh. Sing kabeh aku duwe dina iki."

"Matur nuwun kanggo pelajaran sing menarik, Bilaabo."