C:\>cmd /c dir C:\\users\\nopphanan7\\newfile.txt /tc Volume in drive C has no label. Volume Serial Number is 0410-1EC3 Directory of c:\ 31/05/2010 08:05 14 logfile.log 1 File(s) 14 bytes 0 Dir(s) 35,389,460,480 bytes freeตัว "31/05/2010 08:05" คือตัวที่เราต้องการครับ เพราะฉะนั้นเพื่อที่เราจะสามารรันคำสั่งดังกล่าวได้เราเลยต้องใช้ตัว "Runtime.getRuntime().exec()" ในการรันคำสั่งครับ.
ตัวอย่าง
ในตัวอย่างต่อไปนี้เราจะทำการคืนค่าวันที่ของไฟล์ (C:\\users\\nopphanan7\\newfile.txt) ครับ ถึงวิธีการอาจจะดูแบบลูกทุ่งไปหน่อย แต่ก็ใช้ได้ครับ.
package demo.file; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class GetFileCreationDateExample { /** * @param args */ public static void main(String[] args) { try { Process proc = Runtime.getRuntime().exec("cmd /c dir C:\\users\\nopphanan7\\newfile.txt /tc"); BufferedReader br = new BufferedReader(new InputStreamReader(proc.getInputStream())); String data = ""; // it's quite stupid but work for (int i = 0; i < 6; i++) { data = br.readLine(); } System.out.println("Extracted value : " + data); } catch (IOException e) { e.printStackTrace(); } } }ผลลัพธ์ที่ได้คือ
Extracted value : 05/17/2014 17:11 0 newfile.txt
0 comments:
Post a Comment