解决java.lang.SecurityException: Access denied

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;
			}
		}
	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值