繁体   English   中英

在J2ME中读取文件

[英]Reading File in J2ME

这个简单的代码段让我非常沮丧:

FileConnection fc = (FileConnection) Connector.open("file:///root1/photos/2.png");
System.out.println(is.available());
byte[] fileBytes = new byte[is.available()];
int sizef = is.read(fileBytes);
System.out.println("filesize:"+sizef);

当我将此Midlet部署到我的移动设备中时(具有正确的文件位置),它可以正常工作,即显示正确的文件大小,但是在PC模拟器中,它不断提供的文件大小为:0。显然没有异常,并且我在该位置具有正确的文件。

我在netbeans 6.9中使用j2mewtk sdk。 我尝试卸载,安装wtk和netbeans。

另一件事是每次我运行模拟器时,它都会创建C:\\Users\\Mahsruf\\j2mewtk\\2.5.2\\appdb\\temp.DefaultColorPhone6新位置,如temp.DefaultColorPhone1,2,3,4等。

如果我在netbeans中使用jme SDK 3.0,则文件大小仍为0,但现在在输出窗口中有一行: [WARN] [rms ] javacall_file_open: _wopen failed for: C:\\Users\\Mahsruf\\javame-sdk\\3.0\\work\\0\\appdb\\_delete_notify.dat

我究竟做错了什么?

这与编码无关。 如果同一模拟器皮肤的多个实例同时运行,则该工具包将为每个模拟器生成唯一的文件路径。 例如,在Windows上,DefaultColorPhone实例的文件路径名可能为workdir \\ appdb \\ temp.DefaultColorPhone1,workdir \\ appdb \\ temp.DefaultColorPhone2等。

解决方案:文件workdir \\ appdb \\ DefaultColorPhone \\ in.use跟踪标记为已使用的存储根的数量。 如果模拟器崩溃,则需要删除in.use文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM