การใช้งานคลาส File

การใช้งานคลาส 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 );

}

}