我们公司定制的j2me中,居然没有实现File.list()方法,无法列出一个目录中的所有文件及子目录,请问有没有什么其它的替代方法可以用,如果自己实现一个,该怎么做

解决方案 »

  1.   

    j2me根本没有你可以访问的文件系统,所以你的要求无法实现(除非你开发的手机本身提供,但是这个并非j2me的标准)
      

  2.   

    J2ME使用的是另外的存储方式而不是文件吗?
      

  3.   

    定制的J2me?? 头一回听说.:(难道用jni??
      

  4.   

    实际上来说是一个文件,但是也只是一个信息流而已,你不能访问到j2me的文件系统的。
    我不明白为什么你需要列举出文件
      

  5.   

    To TinyJimmy(Jimmy)呵呵,定制一个系统有什么稀奇的,J2ME本身又不是适合任意的嵌入式设备,所以需要根据自己的产品功能和要求来定制一个J2ME, 当然,如果非按照j2me的标准来说,它已经不能算是完全意义上的J2ME了,只是在J2ME的基础上,该删除的删,该优化的优化。To ChDw(米)
    我想一个软件有列出文件的功能,应该是很普通的功能吧,假如手机里有很多游戏,每个游戏放在一个目录中,用户查询游戏时,手机应当给出游戏列表。这不是最普通的用法吗?
      

  6.   

    对于J2ME有两种profile,如CDC,CLDC,对于后者是对于小型系统而言的,这种系统可能没有或者不需要文件系统,因此File的功能就可以不提供,但对于CDC,应用于Set-top Box等系统,这类系统一般有很大的flash,或硬盘,文件系统存在应该是没有问题的,java.io.File就应该提供全部的功能
      

  7.   

    在标准的J2ME规范中,你根本不可能知道除了自己程序以外的任何信息,因为这个是绝对需要安全性考虑的。所以J2ME中本身并不提供任何的文件系统访问功能,甚至可以说它内部是否一个文件系统都不重要!所以你所说的不是普通用法,而应该说在大部分手机中是无法实现的功能!或者在部分的手机中,厂商会提供额外的功能允许你做一些类似File功能的东西,但是这个已经不是J2ME规范中的内容,你要根据厂商的文档才可以确定。
      

  8.   

    按照chDw的说法,J2ME本身根本就不需要提供文件访问的功能?那java.io.这个API package就没有必要存在吗?事实上你看所有的J2ME版本中都有这个包的存在,而且从接口上来看,所有的功能都提供了,请问这个怎么解释?按照你的意思,“一个程序根本不可能知道除了自己程序的任何信息,因为这个是绝对需要安全性考虑的。”,这句话是对的,但是程序可以对自己的文件应该有操作的权利吧,如程序运行中需要加载一些图片,字体,或者将运行结果保存在一个文件中,而这些文件就在当前程序的目录下,难道这样的要求,J2ME都不支持吗,呵呵,想不明白你的意思?
      

  9.   

    起码在目前的J2ME标准中,你是不能访问文件系统的至于你说的图片、字体等信息可以通过 this.getClass().getResourceAsStream来获得输入流,所以不成问题(前提是你精确知道它的名字)
    保存结果是支持的,你可以使用javax.microedition.rms.RecordStore来保存和读取你需要的信息