在blackberry应用程序的create directory上抛出“FileIOException:Not a directory”

时间:2012-06-23 11:15:29

标签: blackberry file-io create-directory

我想创建我的Application目录来保存我的配置文件。但黑莓模拟器在创建目录时抛出异常。我试过以下代码。

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

2 个答案:

答案 0 :(得分: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();
}

答案 1 :(得分: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());
   }