`
wanchong998
  • 浏览: 235648 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

J2ME 文件操作

    博客分类:
  • J2me
阅读更多
package com.dw.contactadapter.base;


import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Enumeration;
import java.util.Vector;

import javax.microedition.io.file.FileConnection;
import javax.microedition.io.file.FileSystemRegistry;
import javax.microedition.io.Connector;

public class FileOperater {

public static String path = null; // 存放联系人文件的路径
private static final int SIZE_INPUT_BUFFER = 8 * 1024;     //设缓存为8K
String platform = null; // 平台类型
private static FileOperater fo = null;
/**
* 设定路径
*
*/
private FileOperater() {
System.out.println("public FileOperater() {}");
//platform = System.getProperty("microedtion.platform");
// if (platform.startsWith("Nokia")) {
// path = "c:/nokiaContact.txt";
// }
//path = readPath() + "coolpadContact.txt";
//System.out.println("public FileOperater()2 {}");
}

public static FileOperater getInstance() {
if (fo == null) {
fo = new FileOperater();
path = readPath();
}

return fo;
}

/**
* 保存文件 
* @param path    文件路径
* @param fileData 文件数据
* @param overrite 是否要强制覆盖
* @return 1:成功写入文件 -1:文件已经存在没有重写 0:写入文件时出错
* 2008-3-3 下午05:42:43
*/
public int saveFile(String path, byte[] fileData, boolean overrite) {
try {
FileConnection fc = (FileConnection) (Connector.open(path));
if (fc.exists()) {
if (overrite) {
fc.delete(); //如果文件已经存在,先删除
fc.create();
fc.setWritable(true);
OutputStream os = fc.openOutputStream();
os.write(fileData);
os.close();
return 1;
} else
return -1;
} else {
fc.create();
fc.setWritable(true);
OutputStream os = fc.openOutputStream();
os.write(fileData);
os.close();
return 1;
}
} catch (Exception e) {
System.out.println("saveFileErr:" + e.getMessage());
e.printStackTrace();
return 0;
}
}

/**
* 读取文件 返回String类型
* @param path path中要包含文件名
* 2008-2-25 上午10:45:18
* zhangdezheng
*/
public  String readFile (String path) {
byte[] buf = new byte[SIZE_INPUT_BUFFER];
StringBuffer sb = new StringBuffer();

int c = 0;
int b = 0;
try {
FileConnection fc = (FileConnection)Connector.open(path);
if (fc.exists()) {
InputStream in = fc.openInputStream();
while ((c < buf.length) && ((b = in.read(buf, c, buf.length - c)) >= 0)) {
c += b;
if (c == SIZE_INPUT_BUFFER) {
String tmp = new String(buf);
sb.append(tmp);
tmp = null;
buf = new byte[SIZE_INPUT_BUFFER];
c = 0;
}
}
if (c != 0) {
String tp = new String (buf,0,c);
//System.out.println("tp: " + tp);
sb.append(tp);
}
} else {
System.out.println("fc isn't exists!");

}
} catch (IOException e) {
e.printStackTrace();
}
String content = new String(sb);
System.out.println("file content: " + content);
return content;
}

/**
* 获取路径方法
* zhangdezheng
* @return the base path
* 2008-3-5 上午11:00:51
*/
private static String readPath () {
String path = "file:///";//文件所在路径
Enumeration enumRoot = FileSystemRegistry.listRoots();// 返回根目录组成的序列
        Vector list = new Vector();
        String root = "";
        while (enumRoot.hasMoreElements()) {
            list.addElement(enumRoot.nextElement());
        }
       
        String[] ret = null;
        if (list.size() > 0) {
            ret = new String[list.size()];
            for (int i = 0; i < list.size(); i++) {
                ret[i] = (String) list.elementAt(i);
            }
        }
        for (int i = 0; i < ret.length; i++) {
        root = ret[i];
        }
       
        //path = path + root + "coolpadContact.txt";
       
        path = path + root;
        //this.path = path;
        return path;
}

}
分享到:
评论

相关推荐

    j2me文件操作程序

    总之,这个J2ME文件操作程序是一个针对JSR 75规范的实现,它结合了文件系统访问和RMS功能,能够在移动设备上高效地删除文件。通过研究源代码,开发者可以学习如何在J2ME环境下执行文件操作,以及如何利用RMS进行数据...

    J2ME文件操作实例源代码

    J2ME文件操作实例源代码提供了一种学习如何在资源有限的移动设备上处理文件的方法。以下将详细介绍J2ME中进行文件操作的相关知识点。 1. **J2ME的文件系统** J2ME的文件系统通常基于Connected Limited Device ...

    J2ME文件操作

    **J2ME文件操作**是Java Micro Edition (J2ME) 平台中进行文件系统交互的核心技术。在移动设备和嵌入式系统的开发中,理解如何有效地进行文件操作至关重要,因为这些设备通常具有有限的存储空间和计算能力。JSR 75,...

    Java J2ME文件操作代码集.rar

    本代码集专注于Java J2ME平台上的文件操作,提供了实用的示例代码,帮助开发者理解和实现文件管理功能。 在Java J2ME中进行文件操作,主要涉及到以下几个核心知识点: 1. **文件系统访问**:J2ME的`javax....

    file_j2me.rar_j2me_j2me 文件_读写文件

    在Java Micro Edition (J2ME) 平台上,文件操作是移动设备应用程序开发中的常见任务。J2ME 提供了基本的文件系统访问能力,但与标准 Java SE 平台相比,其功能较为有限。本篇文章将深入探讨如何在 J2ME 中进行文件的...

    J2ME文件浏览器(MIDP版本)

    **J2ME文件浏览器(MIDP版本)详解** J2ME,全称为Java 2 Micro Edition,是Java平台的一个子集,专为资源有限的移动设备如手机、嵌入式系统等设计。MIDP(Mobile Information Device Profile)是J2ME的一部分,...

    J2ME文件管理系统

    J2ME文件管理系统就是用于在这些设备上进行文件操作和管理的工具,它提供了对文件和目录的基本操作,如创建、读取、写入、删除以及查找等。 ### 1. J2ME文件系统模型 J2ME中的文件系统基于Java的`java.io`包,提供...

    j2me 重新封装的文件操作类

    对j2me文件操作重新进行封装,使文件操作更加简单

    J2ME文件浏览器(LWUIT版)

    **J2ME文件浏览器(LWUIT版)详解** J2ME(Java 2 Micro Edition)是Java平台的一个子集,主要用于嵌入式设备和移动设备的开发,如早期的智能手机和平板电脑。在J2ME中开发应用程序,开发者经常需要处理文件系统...

    开源 J2ME 文件浏览器

    开源J2ME文件浏览器是一款基于Java 2 Micro Edition (J2ME) 平台的轻量级应用程序,专为移动设备设计,允许用户在设备上查看、管理及操作文件。这款应用的核心是将文件浏览功能封装成一个可复用的List组件,使得用户...

    J2ME文件系统开发实例

    首先,J2ME 并不直接提供标准的 Java I/O 类库,如 `java.io.File`,因此开发者需要使用特定于 J2ME 的 API 来处理文件操作。主要的 API 包括 javax.microedition.io.Connector 和 javax.microedition.io....

    j2me文件浏览器例程

    1. **文件操作**:添加对文件的复制、移动、删除、重命名等操作。 2. **文件预览**:支持文本、图片等常见文件类型的预览。 3. **过滤和搜索**:允许用户按照文件类型或名称进行过滤和搜索。 4. **设置界面**:让...

    J2ME文件上传到服务器

    1. **本地文件操作**:使用J2ME的`javax.microedition.io.Connector`和`java.io`包来读取本地文件。`FileConnection`接口可以用来打开、创建、读取和写入文件。例如,你可以使用`file://`协议打开一个文件,然后使用...

    J2ME文件系统源代码

    在"J2ME文件系统源代码"项目中,开发者实现了以下关键知识点: 1. **连接手机文件系统**:这通常涉及到使用JSR 75提供的`PIM`和`FileConnection`接口。`FileConnection`接口提供了打开、创建、删除、重命名文件或...

    PDA.rar_PDA_j2me_j2me 图片_j2me 文件_j2me 通信

    本文将深入探讨如何使用J2ME进行通信录管理、文件操作以及图片处理,同时介绍一个名为"PDAPDemo"的示例项目。 首先,J2ME是Java Micro Edition的缩写,它是一种轻量级的Java平台,设计用于资源有限的嵌入式设备,如...

    跟我学制作Pak文件j2me.rar_"www.matrix.org.cn"_j2me_j2me matrix.jar_j2me

    在J2ME(Java 2 Micro Edition)开发中,Pak文件是一种常见的资源打包格式,主要用于存储游戏或...记得在实际操作时,遵循良好的编程实践,如资源的正确管理,防止内存泄漏,以及优化文件读取速度,以提升用户体验。

    J2ME文件系统(从手机读取文件,递归存储器目录)

    本教程将深入探讨J2ME文件系统,包括其工作原理、API使用以及如何在手机上读取文件和递归遍历存储器目录。 1. **J2ME文件系统基础** J2ME文件系统并不像Java Standard Edition (Java SE) 中的java.io.File那样提供...

    j2me程序读取文件

    ### J2ME程序读取文件知识点详解 #### 一、J2ME简介 J2ME(Java 2 Platform Micro Edition)是Sun ...通过对示例代码的深入分析,可以帮助开发者更好地理解和掌握J2ME环境下文件操作的基本原理和技术要点。

    J2ME中多个文件上传

    总的来说,J2ME中的多文件上传是一个涉及网络通信、数据编码和流操作的复杂过程。理解multipart/form-data的工作原理和正确构建HTTP请求是关键。对于初学者来说,理解这个过程可能会有些困难,但一旦掌握,就能实现...

Global site tag (gtag.js) - Google Analytics