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