NOKIA的一些目录不允许创建文件,所以会抛出java.lang.SecurityException: Access denied,只需做个提示就行了,或引导用户进入其子目录创建文件,问题便能解决,示例代码如下:
private void createFile(String fileName) {
String fileExt = "";
{
int idx = fileName.lastIndexOf('.');
if (idx > 0) {
fileExt = fileName.substring(idx, fileName.length());
fileName = fileName.substring(0, idx);
}
}
try {
currDir = (FileConnection) Connector.open("file:///" + currDirName
+ fileName + fileExt, Connector.WRITE);
currDir.create();
}catch (SecurityException e) {
Alert alert = new Alert("Error!", "Can not access/delete file "
+ fileName + " in directory " + currDirName
+ "\nException: " + e.getMessage(), null, AlertType.ERROR);
alert.setTimeout(Alert.FOREVER);
FileMIDlet.display.setCurrent(alert);
}catch (IOException e) {
e.printStackTrace();
try {
currDir = (FileConnection) Connector.open("file:///"
+ currDirName + fileName + "(" + genId() + ")"
+ fileExt, Connector.WRITE);
currDir.create();
} catch (IOException e1) {
// TODO Auto-generated catch block
currDir = null;
}
}
}