`

J2ME读取各种格式的文本文件

    博客分类:
  • J2me
阅读更多
在J2ME中读取各种格式的文本文件
  在J2ME开发过程中,我们经常会把一个文字信息保存在txt格式的文本文件中做为资源.这样便于修改和管理.那么读取它们对于一些刚接触j2me的朋友会有些困难.前几天研究了下,看了一些兄弟的文章和代码,总结出3种方法分别读取Unicode,UTF-8,Unicode big endian格式的文件...本文没考虑读取的效率问题.
  这三种方法都能读取中文和英文字符.用来存放的数组长度视文本长度而定....
  另外还有一些只能读取英文字符的方法就不列举出来了.
  一,读取Unicode格式
   private String read_Uni(String resource)
   {
   byte word_uni[]=new byte[1024];
   String strReturn="";
   InputStream is;
   try
   {
   is=getClass().getResourceAsStream(resource);
   is.read(word_uni);
   is.close();
   StringBuffer stringbuffer = new StringBuffer("");
   for (int j = 0; j < word_uni.length; )
   {
   int k = word_uni[j++]; //注意在这个地方进行了码制的转换
   if (k < 0)
   k += 256;
   int l = word_uni[j++];
   if (l < 0)
   l += 256;
   char c = (char) (k + (l << 8)); //把高位和低位数组装起来
   stringbuffer.append(c);
   }
   strReturn=stringbuffer.toString();
   }
   catch(IOException e)
   {
   e.printStackTrace();
   }
   finally
   {
   is=null;
   }
   return strReturn;
   }
  二,读取UTF-8格式
   public String read_UTF(String name)
   {
   String strReturn = "";
   InputStream in = null;
   byte[] word_utf= new byte[1024];
   try
   {
   in = getClass().getResourceAsStream(name);
   in.read(word_utf);
   in.close();
   strReturn=new String(word_utf,"UTF-8");
   }
   catch(Exception e)
   {
   System.out.println("readUTF Error:"+e.toString());
   }
   finally
   {
   in = null;
   }
   return strReturn;
   }
  三,读取Unicode big endian格式
  读取Unicode big endian格式时,采用readChar()方法读取,所以存放时使用char数组存放.
  注意:在文本的末尾加上'$'表示文本的结束.
  另外代码第10行dis.skip(2)是略过文件头2个字符,如果用microsoft notepad保存的一定存在这两个头字符.
  当然,可以使用UltraEdit可以先删掉这两个头字符,然后使用新建文件,复制粘贴,保存为其它格式.这样两个头字符就没了..
   private String read_Uni_b_e(String resource)
   {
   char word_uni_b_e[]=new char[1024];
   String strReturn="";
   DataInputStream dis;
   try
   {
   dis=new DataInputStream(getClass().getResourceAsStream(resource));
   int counter=0;
   dis.skip(2);
   char temp;
   while(true)
   {
   temp=dis.readChar();
   if(temp=='$')
   break;
   word_uni_b_e[counter++]=temp;
   }
   dis.close();
   strReturn=String.valueOf(word_uni_b_e,0,counter);
   }
   catch(Exception e)
   {
   System.out.println("read_Uni_b_e error!"+e.getMessage());
   }
   finally
   {
   dis=null;
   }
   return strReturn;
   }

 

分享到:
评论

相关推荐

    J2ME读取文本文件的一些操作方法

    本篇将详细介绍三种读取不同编码格式文本文件的方法:Unicode、UTF-8以及Unicode big endian。 1. 读取Unicode格式: 在Java中,Unicode是一种标准字符编码,它支持世界上大部分语言的字符。以下方法`read_Uni`读取...

    J2ME 文本本件阅读器

    《J2ME文本文件阅读器》是一款专为手机设计的应用程序,基于Java Micro Edition(J2ME)平台开发。J2ME是Java的一个轻量级版本,主要用于嵌入式设备,如早期的智能手机和平板电脑。这款阅读器旨在帮助用户在移动设备...

    J2ME平台下文本阅读器的实现

    本文介绍了如何在J2ME平台上实现一个简单的文本阅读器,包括文本文件的格式要求、读取文本文件的关键技术以及具体的实现代码。通过这种方式,开发者可以为用户提供一种便捷的移动阅读体验,同时也可以进一步探索其他...

    J2ME文件管理系统

    对于文本文件,可以使用`BufferedReader`和`PrintWriter`进行读写操作。例如,`BufferedReader`的`readLine()`方法用于逐行读取文件,`PrintWriter`的`println()`方法用于向文件写入一行文本。 对于二进制文件,`...

    j2me手机编程读取txt文档

    在Java 2 Micro Edition (J2ME) 中,开发手机应用程序时,有时我们需要处理文本文件,比如读取存储在手机内部或外部存储器上的TXT文档。J2ME并不像Java SE那样提供完整的文件系统访问API,但仍然可以利用内置的流...

    j2me文件浏览器例程

    2. **文件预览**:支持文本、图片等常见文件类型的预览。 3. **过滤和搜索**:允许用户按照文件类型或名称进行过滤和搜索。 4. **设置界面**:让用户自定义文件浏览器的行为,如默认打开的目录、排序方式等。 5. ...

    J2ME公交查询代码

    这个系统的核心功能是读取文本文件并分析其中的数据,以供用户查询公交线路。我们将重点关注两个主要的技术点:一是如何在J2ME环境中读取TXT文件,二是如何对读取到的文本数据进行字符串分割。 首先,我们来看J2ME...

    J2ME文件浏览器(LWUIT版)

    - **FileSystemModel**:这是J2ME中用于处理文件系统操作的类,可以获取目录内容、读取文件等。 - **事件处理**:为TreeView的节点添加点击事件监听器,当用户选择文件或目录时,执行相应的操作,如打开、复制、...

    j2me点阵字库

    1. **字库加载**:在J2ME程序启动时,需要加载点阵字库文件,这通常通过解析二进制或文本格式的字库数据来实现。开发者需要编写代码来读取字库文件,并将数据转换为内部可以使用的结构。 2. **字符映射**:每个字符...

    J2ME文件上传到服务器

    通过结合这个文本文件的内容,你可以得到更详细的实现指南。 总之,虽然J2ME的限制使得文件上传比桌面环境更具挑战性,但通过合理的编程策略和服务器配合,仍然可以实现这一功能。在实际项目中,可能需要根据设备的...

    J2ME文件操作实例源代码

    例如,使用`InputStreamReader`和`BufferedReader`读取文本文件: ```java InputStreamReader in = new InputStreamReader(conn.openInputStream()); BufferedReader reader = new BufferedReader(in); String ...

    j2me程序对手机本地磁盘文件的综合操作

    例如,若要打开一个名为"myText.txt"的文本文件,URL可能是"file:///store/0/myText.txt"。 对TXT文件的操作主要包括读取和写入。读取时,可以使用FileConnection的openInputStream()方法打开输入流,然后使用...

    J2ME 初学者写的源代码 java 比较简单一点的几个J2ME初学者写的源代码,有关文本处理和图像处理方面的源码。

    例如,`InputStreamReader`和`BufferedReader`组合使用可以从文件或网络流中读取文本。对于显示文本,J2ME使用的是用户界面组件,如` MIDP`(Mobile Information Device Profile)提供的`TextBox`或`Form`,它们可以...

    J2ME游戏的基本结构

    J2ME 游戏的图形渲染通常基于 Graphics 类,它提供了绘制线条、形状、文本和位图的功能。通过更新屏幕并调用 Display.update() 或 repaint() 方法,可以实现游戏画面的动画效果。 六、输入处理 J2ME 提供了键盘和...

    Jaxp_xml.rar_J2ME 程序_j2me_j2me xml_j2me 网络

    3. **XML文档流式处理**:SAX解析器按需读取XML文档,允许J2ME应用处理大型XML文件,而不会消耗大量内存。 4. **错误处理**:SAX解析器还会触发错误事件,允许开发者捕获并处理XML解析中的错误。 5. **实际应用**...

    J2me浏览器(kxml解释实现)

    它提供了解析XML文档的能力,包括读取元素、属性、文本等,并且不需要DOM或SAX支持,这使得它在J2ME平台上具有较高的效率。 3. **XML解析**:在J2ME浏览器中,XML解析是关键部分,因为许多网页内容是以XML格式或者...

    在无线J2ME设备上实现超文本传输协议

    在无线J2ME设备上实现超文本传输协议主要涉及到的是如何使用Java Micro Edition (J2ME)技术在有限资源的移动设备上与Web服务器进行通信。J2ME是一种轻量级的Java平台,专为嵌入式设备如手机、PDA等设计,它包括了...

    基于J2ME的简单拼图游戏

    文件存储与读取** 游戏中的关卡信息可能保存在设备的非易失性存储中,如使用RecordStore API来持久化数据。RecordStore允许开发者在设备上创建、读取、更新和删除数据记录。 **6. 实验报告** 实验报告可能详细描述...

    J2ME实现范例

    主要包括Form、ChoiceGroup、TextBox、Alert等基本组件,它们用于显示文本、选择项和接收用户输入。 4. **网络编程**: J2ME的Connector类提供了对HTTP、WAP和其他协议的支持,使得在移动设备上进行网络数据交换...

    j2me游戏资源,分享给大家

    从给定的文件信息来看,我们探讨的主题是Java 2 Micro Edition(J2ME)以及在J2ME平台上开发游戏的资源分享。J2ME是一种针对嵌入式和移动设备的Java平台,它允许开发者创建运行在有限资源设备上的应用程序,如早期的...

Global site tag (gtag.js) - Google Analytics