j2me怎么读文件?

问题描述

弱弱地问一下,j2me可不可以读文件?如果能,那么文件的路径怎么写?

解决方案

解决方案二:
publicvoidwritetorecord(RecordStorers){byte[]stock=null;try{ByteArrayOutputStreambaos=newByteArrayOutputStream();DataOutputStreamdos=newDataOutputStream(baos);dos.writeUTF(name);dos.writeInt(boughtprice);dos.writeInt(soldprice);dos.writeInt(unit);dos.writeBoolean(issold);stock=baos.toByteArray();recordId=rs.addRecord(stock,0,stock.length);baos.close();dos.close();}catch(Exceptionex){}}publicvoidreadFromRecord(RecordStorers,intRecordId){try{byte[]data=rs.getRecord(RecordId);ByteArrayInputStreambais=newByteArrayInputStream(data);DataInputStreamdis=newDataInputStream(bais);name=newString(dis.readUTF());boughtprice=dis.readInt();soldprice=dis.readInt();unit=dis.readInt();issold=dis.readBoolean();bais.close();dis.close();}catch(Exceptionex){}}
解决方案三:
打开文件系统try{FileConnectionfc=(FileConnection)Connector.open(“file:///CFCard/new.txt);//操作fc.close();}catch(IOExceptionioe){}
解决方案四:
//创建文件new.txttry{FileConnectionfc=(FileConnection)Connector.open(“file:///c:/new.txt);if(!fc.exists()){fc.create();}fc.close();}catch(IOExceptionioe){}//创建子目录try{FileConnectionfc=(FileConnection)Connector.open(“file:///c:/mydir/);if(!fc.exists()){fc.mkdir();}fc.close();}catch(IOExceptionioe){}//删除文件new.txttry{FileConnectionfc=(FileConnection)Connector.open(“file:///c:/new.txt);if(!fc.exists()){fc.delete();}fc.close();}catch(IOExceptionioe){}//删除子目录try{FileConnectionfc=(FileConnection)Connector.open(“file:///c:/mydir/);if(!fc.exists()){fc.delete();}fc.close();}catch(IOExceptionioe){}希望能给你有所启示!!呵呵
解决方案五:
谢谢各位,以上的写法在书上我也看到了,可是我在模拟器上运行的时候却显示文件不存在,是因为模拟器上不能打开文件吗?还是因为可能我写错了?那个路径好像有讲究,是不是对于不同品牌的机器路径的写法不一样?如果我想打开工程文件夹下的一个文件,应该怎么写?打成JAR包之后这些文件可以保留在JAR包里吗?
解决方案六:
模拟器上路径不是c:这种形式,这种是诺基亚,索爱的典型路径。模拟器你用file:///作为根目录。
解决方案七:
建议楼主放弃,因为大多数手机是要程序提供验证才能访问手机的存储器的。而申请手机的签名貌似要钱的。
解决方案八:
在J2ME程序中,没有文件系统,想要永久保存数据,需使用RMS。当程序关闭之后,RMS中的数据仍然会保存在手机里面。当我们设计的游戏程序中,需要记录游戏的最高分,保存游戏的设置参数时,就需要用到RMS。RMS类似于简单的文件系统/数据库系统,每个文件称为一个RecordStore(记录存储器),用唯一的名字来标识(相当于文件名)。每个RecordStore中保存的数据是一个个Record(记录),每个Record有一个记录号,从1开始编号;每个Record中保存的数据是byte[]字节数组1.打开RecordStore:RecordStorers=RecordStore.openRecordStore("myname",true);"myname"表示RecordStore的名字,true表示当这个rs不存在时,需要创建一个新的rs;2.读取数据:byte[]record1=rs.getRecord(1);//读出1号记录的数据,保存到record1这个字节数组中intn=rs.getNumRecords();//读出该rs中的记录数3.保存数据:byte[]data={0,1,2,3,4,5,...};//data待为保存的数据intid=rs.addRecord(data,1,3);//增加一个新的记录,把{1,2,3}这3个字节的数据保存,返回记录号rs.setRecord(1,data,0,data.length);//修改1号记录,内容为data的全部数据4.关闭rsrs.closeRecordStore();上述操作rs的方法,出错时会抛出RecordStoreException异常,需要捕获,以便出错时也能正确关闭RecordStore.
解决方案九:
是要读取手机文件系统PIM,这个要签名后才能访问还是要读取自己的添加到资源文件getResourceAsStream(“/a.dat”);就好了
解决方案十:
如果手机支持JSR75的话,则可以操作文件,示例代码可以参看WTK安装目录下的appsPDADemo
解决方案十一:
2、3楼提供的方法并不是每个手机都能用的,只有一些几个别的极高端手机才支持标准的文件操作,而市场上的绝大部分手机存储方式都是采用的7楼的RMS存储方式。RMS存储方式其实也是跟File差不多的,现在的手机程序读取文件的方式基本上都是采用的8楼的方式。
解决方案十二:
谢谢大家的细心回答,请问添加资源文件那是什么用法?可不可以解释细一点?或者给一个网址。现在我需要预存相当数量的数据,程序的主要功能就是查找与显示这些数据,应该采用什么方法?
解决方案十三:
事实上现在很多手机都可以支持文件系统访问了,并不是所谓的极高端机才可以。由于不同手机的文件系统的标记形式可能会不同,所以我建议使用FileSystemRegistry的listRoots()的方式,现将文件系统的盘符读入内存,之后再用FileConnection的list()方法将目录中的文件检索出来,这样子就可以设备的避开差异性了。打开文件系统的操作还是比较简单的,比较麻烦的是打开RMS,这方面后来我用了Polish的RmsStorage类,因为它本身为我封装了很多方法,所以我几乎只要直接用就行了,不用自己在写太多的过程。
解决方案十四:
学习了
解决方案十五:
初学者...谢谢各位大侠的看法
解决方案:这贴整整九个月了
解决方案:WTK2.5.2appsPDAPDemo下的例子
解决方案:jsr-75包就定义了对手机本地文件资源的定义和api操作,midp包里面有的只是提供对jar打包资源自带的文件的访问,这是我从网上找的资料不知道对否?各位大侠指点一二。如果上面不适合你,就自己打包个文件,rms只能适用于小数据存储.
解决方案:好帖,精贴啊

时间: 2024-10-10 11:16:30

j2me怎么读文件?的相关文章

c-C++读文件没读完就结束,eof已用

问题描述 C++读文件没读完就结束,eof已用 这段代码是我写哈夫曼编码的一个解压函数,现在的问题是,没有把我整个文件解压完像图里面,只解压了一部分然后 ,还有剩下很多没读,貌似是eof为真,导致读文件结束了 这是怎么回事啊? void readCodeFile(){ ifstream inf; ofstream outf; int w[200] c = 0; char s[200]; string code; HuffTreeTreeArray[100]; HuffNode tempNode;

用stream读文件

stream|stream 前几天要写一个东西里面有用到读文件的. 可是我不想用FSO,我怕有的空间不支持.可是网络上找了半天没有找到一个不是用FSO写的. 还是自己做了一个. 我记得以前在做无组件上传,并保存文件的时候有用到stream我发现有一个LoadFromFile的方法.可以读取文件.下面是我的代码. function readfile(URL,chartype) set srmObj = server.CreateObject("adodb.stream") srmObj.

JSP中读文件和写文件的例子

js 读文件的例子***************************************************<%@ page contentType="text/html;charset=gb2312"%><%//变量声明\java.lang.String strFileName; //文件名java.io.File objFile; //文件对象java.io.FileReader objFileReader; //读文件对象char[] chrBuff

JSP文件操作例程 - 读文件

js <%--作者:何志强[hhzqq@21cn.com]日期:2000-08-07版本:1.0功能:JSP文件操作例程 - 读文件--%> <%@ page contentType="text/html;charset=gb2312"%> <%//变量声明java.lang.String strFileName;     //文件名java.io.File objFile;             //文件对象java.io.FileReader obj

ASP应用:用stream读文件

 前几天要写一个东西里面有用到读文件的.  可是我不想用FSO,我怕有的空间不支持.  可是网络上找了半天没有找到一个不是用FSO写的.   还是自己做了一个.   我记得以前在做无组件上传,并保存文件的时候有用到stream  我发现有一个LoadFromFile的方法.可以读取文件.  下面是我的代码.    function readfile(URL,chartype)  set srmObj = server.CreateObject("adodb.stream")  srmO

ASP应用:用stream读文件

前几天要写一个东西里面有用到读文件的. 可是我不想用FSO,我怕有的空间不支持. 可是网络上找了半天没有找到一个不是用FSO写的. 还是自己做了一个. 我记得以前在做无组件上传,并保存文件的时候有用到stream 我发现有一个LoadFromFile的方法.可以读取文件. 下面是我的代码. function readfile(URL,chartype) set srmObj = server.CreateObject("adodb.stream") srmObj.type=1 srmO

改良XP预读文件 让关机速度快如闪电!

一.禁止程序产生索引文件 预读文件导致系统启动变慢,是因为要读取运行程序时生成的索引文件所造成的.因此,我们只需要禁止PF文件的产生即可. 在"运行"窗口中输入"msconfig"后回车打开系统配置实用程序窗口,将其切换到"服务"标签,然后将其中的"Task Scheduler"项前的勾取消并保存设置,这样即可起到禁止建立索引文件的目的(快知道:电脑关机很慢怎么办?). 关闭"Task Scheduler"

改良XP预读文件 为系统启动提速

随着Windows系统的身躯越来越庞大,到了Windows XP中,微软提供了一种预读取的功能.即在Windows文件夹中添加了一个Prefetch文件夹,以利用该功能提高系统性能,加快系统启动和文件的读取速度.但是随着使用时间的增多,用户每使用一个程序,系统就会在该文件夹中留下一个以PF为扩展名的索引文件.预读文件导致系统启动变慢,是因为要读取运行程序时生成的索引文件所造成的.因此,我们只需要禁止PF文件的产生即可. 一.关闭相关服务 在"运行"窗口中输入"msconfig

如何设置win7预读文件功能

  浅析windows7预读文件的功能和设置:在对win7版操作系统文件进行整理的过程中,系统文件以及程序都会是Ghost win7操作系统(雨林木风ghost win7系统下载)用户的主要针对对象.那么在win7版操作系统中存在的windows预读文件可以进行删除和优化吗?是不是对windows预读文件进行优化以后,win7版操作系统的开机速度就会有所提升了呢? Windows预读文件是win7版操作系统开启的时候,必须要启动的文件.对于win7版操作系统用户来说,如果在选择优化项目的时候,勾