การใช้งานคลาส File
แฟ้มข้อมูลในเครื่องคอมพิวเตอร์สามารถนำมาใช้งานผ่านการจัดการด้วยวิธีการที่หลากหลาย ซึ่งภาษาจาวาเตรียมคลาส File ให้ผู้พัฒนาสามารถดำเนินการกับแฟ้มข้อมูลเหล่านั้นได้ตามต้องการ เช่น ตรวจการมีอยู่ของแฟ้ม ตรวจว่าเป็นแฟ้มหรือโฟรเดอร์ ขอข้อมูลขนาดแฟ้ม เป็นต้น
ตัวอย่าง 7.1 การแสดงรายละเอียดของแฟ้มข้อมูล
import java.io.*;
class x {
public static void main (String args[]) throws IOException {
File f = new File(“source/x.java”);
// java.io.File f = new java.io.File(“source/x.java”);
System.out.println(“getName: “+ f.getName() ); // x.java
System.out.println(“getPath: “+ f.getPath() ); // source/x.java
System.out.println(“getAbsolutePath: “+ f.getAbsolutePath() );
// c:\source\x.java
System.out.println(“exists: “+f.exists()); // true
System.out.println(“isFile: “+f.isFile()); // true
System.out.println(“isDirectory: “+f.isDirectory()); // false
System.out.println(“canWrite: “+f.canWrite()); // true
System.out.println(“canRead: “+f.canRead()); // true
System.out.println(“length: “+ f.length() ); // 562 Bytes
}
}
ตัวอย่าง 7.2 การย้ายแฟ้ม และสร้างแฟ้มว่างเปล่า
– ย้ายแฟ้ม x.java ไปเป็น y.java แต่ถ้าไม่มีแฟ้ม x.java อยู่ก่อนหน้านี้ ก็จะพบว่า success = false
boolean success;
File f1 = new File(“x.java”); // nothing happen
File f2 = new File(“y.java”);
success = f1.renameTo(f2); // move x.java to y.java
System.out.println(success);
File f3 = new File(“z.java”);
success = f3.createNewFile(); // 0 bytes
ตัวอย่าง 7.3 การย้ายแฟ้มไปต่างโฟรเดอร์
boolean success;
File f1 = new File(“x.java”);
File f2 = new File(“c:/”);
success = f1.renameTo( new File(f2, f1.getName()) );
// move x.java to c:\x.java
ตัวอย่าง 7.4 การลบแฟ้ม
success = (new File(“y.java”)).delete();
System.out.println(success); // true
ตัวอย่าง 7.5 การแสดงจำนวนแฟ้มในโฟรเดอร์
– ตัวอย่างการสั่งประมวลผล DOS> java x c:\windows
import java.io.*;
class x {
public static void main (String args[]) {
File d = new File( args[0] );
String n[] = d.list();
System.out.println( n.length );
}
}
ตัวอย่าง 7.6 การแสดงรายชื่อแฟ้ม และขนาดแต่ละแฟ้มในโฟรเดอร์
– ตัวอย่างการสั่งประมวลผล DOS> java x c:\windows
– โปรแกรมนี้เหมือนคำสั่ง dir
import java.io.*;
class x {
public static void main (String args[]) {
File d = new File( args[0] );
String n[] = d.list();
for (int i = 0; i < n.length; i++) {
File f = new File(args[0] + ‘/’ + n[i]);
System.out.println(i+” : “+n[i]+” Size=” + f.length() );
}
}
}
ตัวอย่าง 7.7 การแสดงผลรวมของขนาดแฟ้มทั้งหมดในโฟรเดอร์
– ตัวอย่างการสั่งประมวลผล DOS> java x c:\windows
import java.io.*;
class x {
public static void main (String args[]) {
long sum = 0;
File d = new File( args[0] );
String n[] = d.list();
for (int i = 0; i < n.length; i++) {
File f = new File(args[0] + ‘/’ + n[i]);
sum = sum + f.length();
}
System.out.println( sum );
}
}