jsr75的问题,即文件读写,我快整晕了,高手过来帮忙了!

听风牧语 2010-12-01 10:21:40
在做一个程序,涉及到读取手机本地的文件的问题。即如何使用可选包jsr75:
1、仿真时,系统路径的问题,是file://localhost/root1/*还是file:///filesystem/root1/*,两者有什么区别,
在真机上也是一样可以如上所写么。
2、存储卡路径,各手机的存储卡路径怎样识别呢,有写e:的,也有写d:的,到底如何啊
3、文件连接打开的输入/输出流,如何操作,我仿真时,打开了虚拟的文件路径,找到了文件,但读与写
根本无响应,既无错误提示,也无执行打印输出提示,是电脑仿真慢的问题么,到这一步就停了。

各位大哥、大姐,我搞这个文件读写问题实在是头晕了,网上搜索了那么多帖子,最后还是不能很好的解决问题,
还望大家多多发言、回复,在此不胜感激啊。
...全文
123 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
听风牧语 2011-01-06
  • 打赏
  • 举报
回复
路径已经能正确自动获取了,也能浏览,就是读写还有问题,最近忙着期末考试,自己的问题都搁置了,有时间一定在好好研究研究的
fzyll 2011-01-05
  • 打赏
  • 举报
回复
每个手机的根路径都不一样,而且SD的名称不是固定的,我的思路是遍历设备根目录 ,选取可用空间最大的一个路径作为文件存放根目录。实测NOKIA E63的存储卡目录就叫"存储卡/",MOTO E2的SD卡目录叫"SD/"
/**
* 遍历设备根目录 ,选取可用空间最大的一个路径作为文件存放根目录
* @return
*/
public String getRoot(){
String schema="file:///";
String root=null;
Enumeration em = FileSystemRegistry.listRoots();//获得根路径下的所有文件和目录
long avaibleSize = 0;//可用大小
String tmpPath = null;//临时变量
while (em.hasMoreElements()) {
tmpPath = (String) em.nextElement();
if (tmpPath.endsWith("/")) {//是文件夹
FileConnection fc = null;
try {
fc = (FileConnection) Connector.open(schema + tmpPath, Connector.READ_WRITE);
} catch (IOException e) {
e.printStackTrace();
}
if (fc.availableSize() > avaibleSize) { //判断可用空间大小
avaibleSize = fc.availableSize();
root = tmpPath;
}
closeFile(fc);
}
}
return root;
}
听风牧语 2010-12-03
  • 打赏
  • 举报
回复
开辟新的线程了,感觉还是仿真器不行吧,有些程序还要直接用真机测试的
hyfeng_ccle 2010-12-03
  • 打赏
  • 举报
回复
什么都没有响应,应该是阻塞了吧?调用会阻塞线程的方法时需要另开一个线程。
kf156 2010-12-02
  • 打赏
  • 举报
回复

1.模拟器用file:///root1/
真机用file:///e:/ 表示存储卡
2.真机存储卡基本都是E: ,你也可以用System.getProperty("fileconn.dir.memorycard");取存储卡路径
3.这不太好说,可能是代码没写好吧,可以看看下边这小例子:

J2ME 本地文件读写例子
http://blog.csdn.net/kf156/archive/2009/09/30/4621413.aspx
听风牧语 2010-12-02
  • 打赏
  • 举报
回复
真机路径可以用系统函数获取?好像是有这样的功能,但那还要些一个文件浏览器阿

13,100

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧