3

我想创建我的应用程序目录来保存我的配置文件。但黑莓模拟器在创建目录时抛出异常。我已经尝试了以下代码。

try {
FileConnection myAppDir = (FileConnection) Connector.open("file:///store/home/user/myAppDir", Connector.READ_WRITE);
    if (!myAppDir.exists()){
        myAppDir.mkdir(); // Exception throw here
    }
} catch (Exception e) {
e.printStackTrace();
}

异常抛出

net.rim.device.api.io.file.FileIOException: Not a directory
4

2 回答 2

5

您是否尝试在路径末尾添加一个正斜杠,以便连接器知道它是一个目录?

try {
FileConnection myAppDir = (FileConnection) Connector.open("file:///store/home/user/myAppDir/", Connector.READ_WRITE);
    if (!myAppDir.exists()){
        myAppDir.mkdir(); // Exception throw here
    }
} catch (Exception e) {
e.printStackTrace();
}
于 2012-06-23T11:25:06.027 回答
2

你确定你正在测试的设备/模拟器有内部存储吗?您应该使用FileSystemRegistry来获取可用的文件系统根,例如从 API 文档:

   Enumeration rootEnum = FileSystemRegistry.listRoots();
   while (rootEnum.hasMoreElements()) {
      String root = (String) rootEnum.nextElement();
      FileConnection fc = (FileConnection) Connector.open("file:///" + root);
      System.out.println(fc.availableSize());
   } 
于 2012-06-23T12:11:54.173 回答