J2me文件系统
几个问题
1,可选包的概念
什么是J2ME可选包?可选包其实就是一系列的API(Application Programming Interface)的集合,但是他们并不能定义整个应用程序的运行环境,而是对标准运行环境的扩展来支持特定设备的特定属性,他们必须和Configuration和Profile联合起来使用。
2,JSR75包括的两个API
FileConnection------允许 MIDlet 访问本地设备文件系统
PIM---------个人信息管理 (PIM) 可选包,用于操纵联系人列表(地址簿)、日历以及任务列表的 API(今天只讲FileConnection)
3,模拟器如何增加盘符
4,安全提示
在我们往手机存储设备上读写数据的时候会遇到很烦人的警告提示框,这些提示在为签名之前是没有办法去除的,它的权限不是在我们程序中能够获取到的,而是在手机生产商。
5,读写操作要使用单独的线程来操作
我们在开发中如果如果遇到针对文件系统的读写操作的话,为了防止线程阻塞,要开辟新的线程来执行对应的IO操作。参考比如断点下载模块中的操作。
如何使用
这里只是说一些我在实际的开发中遇到的问题,一般接口方法直接看API提供的接口就好了。
如何判断手机支持文件系统--------FileConnection
大众版(多数手机)
System.getProperty("microedition.io.file.FileConnection.version") != null
Moto大众版
System.getProperty("com.motorola.io.FileConnection.version") != null
Moto特殊版本
System.getProperty("com.motorola.io.file.FileConnection.version") != null
可见Moto很扯蛋,半路杀出个程咬金。
新建目录
在实际的开发中,新建目录是很常见的操作
FileConnection fs =(FileConnection) Connector.open("file:///"+" path);
if(fs!=null){
fs.mkdir();
}
注意:我们在新建自己的目录时候不能同时新建多个目录,只能新建一个目录。
在上面的代码中如果path=”dir1/dir2/”,如果没有dir1就直接执行是不能执行成功。
Open操作
open(String path);
open(String path,int mode);
这两个open语句是在我们执行一切文件系统操作首先要做的事情,第一句默认是可读可写操作权限,第二句就比较人性化,后面跟的什么参数是读/写模式。
别看这两个很简单的语句,要是你没有针对其操作做好相对应的逻辑操作,你的程序很可能在个别手机就会出现问题。例如,要你扫描手机本地所有的歌曲文件,当执行这条open操作的时候可能在不同的手机上面,执行的结果会有一定差异,这就得处理好你对这两个操作可能会引起的异常的处理。
CanWrite()、canRead()操作
这两个函数是用来判断我们所执行的文件或者文件夹是否可以进行写操作、读操作的
权限。
在文件时候基本没有什么可以说的,但是在针对文件夹时候,你就得注意了,也许canWrite()返回true了,你在其里面直接进行一些操作也是会有问题的,在我的实际开发中就遇到这样的问题:我在保存下载歌曲的时候提供了一个让用户选择保存的路径的时候,明明是首先判断了canWrite()了,在保存时候在该目录进行写操作的时候老报安全异常。
文件系统看似很简单,但是,由于硬件环境的巨大差异,在实际开发中总是会出现一些非常郁闷的问题,这里分享一下我自己的一些工作失败总结。如果你有更好的,希望路过了就一起分享,共同进步。
分享到:
相关推荐
**J2ME FileConnection API** 是Java Micro Edition (J2ME) 平台上用于处理文件I/O操作的一个重要API,它允许MIDlets(移动信息设备应用)与本地或远程文件系统进行交互。该API是Java社区进程(JSR)的一部分,具体...
通过深入理解J2ME的特性,结合FileConnection API的使用,开发者可以克服移动平台的限制,实现一个功能完备且用户体验良好的视频播放器。"VideoMIDlet.java"源代码将展示具体实现的细节,包括如何加载和播放视频,...
4. **文件I/O操作**:在J2ME中,我们需要使用FileConnection API来访问存储在设备上的MP3文件。这包括打开、读取和关闭文件,以及处理可能的I/O异常。 5. **用户界面设计**:为了提供良好的用户体验,播放器通常...
5. **类与方法**:源码中可能包含对J2ME API的多种使用,如网络通信(利用HttpConnection和DataInputStream/OutputStream进行HTTP请求),文件I/O(FileConnection API),以及线程管理(Thread类)。 6. **事件...
通过理解并熟练运用J2ME的API,如RMS、FileConnection和Image类,开发者能够构建出能够处理通信录、文件和图片的PDA应用。"PDAPDemo"项目是学习和实践这些概念的一个好起点,通过对它的研究,可以深入了解J2ME在实际...
在J2ME中,可以使用`javax.microedition.io.Connector`和`javax.microedition.io.FileConnection`类来打开并读取文件。开发者需要确保处理好各种可能的文件路径格式,并处理文件不存在或权限不足的情况。 ### 2. ...
J2ME的文件系统访问接口被用来实现这一功能,可能包括KVM(KJava虚拟机)提供的FileConnection API。 2. **文本渲染**:阅读器需要能够正确解析UTF-8编码,将字符转换成可显示的格式。这涉及到对Unicode编码的理解...
**J2ME 文件操作程序详解** J2ME(Java 2 Micro Edition)是Java平台的一个子集,主要用于嵌入式设备和移动设备的开发。在J2ME中进行文件操作时,由于资源有限,需要特别关注效率和内存管理。本项目提供了一个用于...
在J2ME中,文件访问主要通过`javax.microedition.io.FileConnection`接口实现。该接口提供了一组方法用于打开、关闭、读取、写入文件等功能,并且支持多种文件系统。对于资源受限的设备而言,J2ME提供了一种轻量级的...
MIDP提供了RecordStore API来存储小量数据,而FileConnection API则用于访问外部文件系统。 5. **数据持久化**: 记录商店(RecordStore)是J2ME中数据持久化的一种方式,适合存储少量结构化数据。对于大量或复杂...
Midp API提供了FileConnection接口,用于创建、读取、写入和删除文件。开发者需要理解如何处理目录结构,读写文件流,并考虑到移动设备上的内存限制。 5. **多媒体播放器** J2ME的MIDP 2.0引入了JSR-135(Java ...
Java J2ME(Java Micro Edition)是Java技术在嵌入式设备、移动设备等资源受限环境中的应用平台,主要用于开发手机、智能手表等小型设备上的应用程序。本代码集专注于Java J2ME平台上的文件操作,提供了实用的示例...
PDA FileConnection (JSR 75) J2ME Web Services RPC (JSR 172) Scalable 2D Vector Graphics API (JSR-226) SIP API (JSR 180) Wireless Messaging API 1.0 (JSR 120) WTK2.2 相关文档 Nokia UI API ...
- 文件系统访问:FileConnection API允许读写本地文件或存储卡。 - 游戏支持:Game API提供图形、动画和游戏输入处理。 4. **J2ME开发环境**: - NetBeans或Eclipse集成开发环境(IDE)支持J2ME开发,提供便捷的...
J2ME提供了FileConnection接口,它允许开发者读取、写入和管理设备上的文件和目录。本教程将深入探讨J2ME文件系统,包括其工作原理、API使用以及如何在手机上读取文件和递归遍历存储器目录。 1. **J2ME文件系统基础...
此外,FileConnection API允许开发者访问设备的文件系统,进行文件的读写操作。 **游戏开发** J2ME由于其跨平台性和良好的性能,常被用于开发移动游戏。通过LWUIT( Lightweight User Interface Toolkit)或者...
J2ME API 速查手册 本手册包含如下内容 ...PDA FileConnection (JSR 75) J2ME Web Services RPC (JSR 172) Scalable 2D Vector Graphics API (JSR-226) SIP API (JSR 180) Wireless Messaging API 1.0 (JSR 120)
MIDlet可以通过FileConnection API来读写文件,这对于存储用户数据或者离线缓存信息至关重要。 7. **事件驱动编程**:J2ME使用事件驱动模型,用户交互、网络活动或其他异步操作会触发事件,开发者需要编写事件...
6. **文件系统和持久化**:游戏可能需要保存进度、用户设置等信息,J2ME提供了简单的文件I/O操作,如`FileConnection`接口,可用于存储数据到设备的非易失性存储。 7. **性能优化**:由于移动设备资源有限,优化...