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()
@Tamarfconn=(FileConnection)Connector.open(fileName,Connector.READ\u WRITE)返回的值
是否正在抛出异常是您的程序多线程?可能是您试图同时将数据保存在同一文件中?检查其他JRE或其他模拟器。我将把模拟器问题归咎于可能性列表中的最后一个选项。