Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java BlackBerry:将文件保存为文本文件_Java_Blackberry_Blackberry Simulator - Fatal编程技术网

Java BlackBerry:将文件保存为文本文件

Java BlackBerry:将文件保存为文本文件,java,blackberry,blackberry-simulator,Java,Blackberry,Blackberry Simulator,我愿意做一个简单的应用程序,根据这个程序将数据存储在文本文件中,但我面临一个令人沮丧的例外 这是我的代码: private boolean saveFile(String fileName, String fileContent) { DataOutputStream os = null; FileConnection fconn = null; try { fconn = (FileConnection)Connecto

我愿意做一个简单的应用程序,根据这个程序将数据存储在文本文件中,但我面临一个令人沮丧的例外

这是我的代码:

private boolean saveFile(String fileName, String fileContent) {
         DataOutputStream os = null;
          FileConnection fconn = null;
        try {
        fconn =   (FileConnection)Connector.open(fileName,Connector.READ_WRITE);
          if (!fconn.exists())
                fconn.create();
        os=fconn.openDataOutputStream();
        String myString=fileContent;
        os.write(myString.getBytes());
        os.close();
        fconn.close();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            Dialog.alert(e.toString());
            return false;
        }
        return true;
    }

private String getFileName() {

        return "file:///SDCard/BlackBerry/documents/text.dat";

    }
这是我得到的例外:

 net.rim.device.api.io.file.FileIOException: File system error
API说明如下:

IOException - if the firewall disallows a connection that is not btspp or comm.
我不知道这是否有用

我正在使用黑莓JRE 4.6.1和黑莓8900模拟器。
希望你们能帮助我。

检查你们的模拟器是否安装了SD卡。 如果是autostart,则必须等待系统完全通电并安装SD卡:


最后一个问题是,在失败的操作结束时,您还必须关闭流和文件连接。

好的,答案很棘手。我一直在反复尝试相同的代码,直到我开始认为这是一个与模拟器相关的问题,所以我所做的是,在运行应用程序之前,我使用Blackberry界面菜单中的
选项
项卸下并插入SD卡,就是这样。它很有魅力。我猜这是模拟器中的一个bug。

哪一行引发了异常?write?调试时发现的
fileName
的值是多少?您的要求是保存文本文件,但在getFileName()方法中,您给出了“fileName.dat”。对于文本文件,它应该是“fileName.txt”。您得到的是什么异常?您可以检查
FileIOException.getErrorCode()
@Tamar
fconn=(FileConnection)Connector.open(fileName,Connector.READ\u WRITE)返回的值
是否正在抛出异常是您的程序多线程?可能是您试图同时将数据保存在同一文件中?检查其他JRE或其他模拟器。我将把模拟器问题归咎于可能性列表中的最后一个选项。