แต่อย่างไรก็ตาม ในคลาสของ java.io.File มี Method setExecutable, setReadable, setWritable เดี๋ยวจะลองเขียน Code ตัวอย่างดูนะครับ
ลอง check สิทธิ์ด้วยคลาส CheckPermission
import java.io.FilePermission;
import java.security.AccessController;
/**
*
* @author Kotcharit
*/
public class CheckPermission {
public static void main(String[] args) {
try {
AccessController.checkPermission(new FilePermission("C:\\", "read,write"));
System.out.println("You have permission : ^-^");
} catch (SecurityException e) {
System.out.println("You don't have permission : T_T");
}
}
}
ลองทำตาม Code นี้
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
/**
*
* @author Kotcharit
*/
public class WritePermissionFile {
public static void main(String[] args) {
FileOutputStream outputFileStream = null;
OutputStreamWriter streamWriter = null;
BufferedWriter bufferedWriter = null;
try {
/*สร้างไฟล์ Test Permission.txt เปล่า ๆ ไว้ที่ C:/ ไดเร็กทอรี่*/
File config = new File("C:/Test Permission.txt");
/*----Set ค่าให้เป็น true ---*/
config.setExecutable(true);
config.setReadable(true);
config.setWritable(true);
/*-------------------------*/
outputFileStream = new FileOutputStream(config);
streamWriter = new OutputStreamWriter(outputFileStream);
bufferedWriter = new BufferedWriter(streamWriter);
bufferedWriter.write("Test write permission file");
System.out.println("Success");
} catch (Exception e) {
System.out.println("Error : " + e.getMessage());
} finally {
try {
bufferedWriter.flush();
} catch (Exception e) {
}
try {
bufferedWriter.close();
} catch (Exception e) {
}
bufferedWriter = null;
streamWriter = null;
outputFileStream = null;
}
}
}
เพียงแค่นี้เราก็แก้ปัญหาเรื่อง Access is denied ได้แล้ว ลองนำไปประยุกต์กันดูนะครับ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น