⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 reader_menu.java

📁 多格式文本阅读器是一个简单的j2me手机应用程序
💻 JAVA
字号:
/**源代码由程序员联合开发网(www.pudn.com)会员"周润发"收集、整理、重新编辑
 *Email: ql_chuanzhang@tom.com
 *QQ号:1103798882
 *欢迎大家与我联系互相交流学习 
 **/
package Reader;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;

import javax.microedition.lcdui.Form;

public class reader_menu extends Form {
	
	private txt_reader txt_rd;
	public reader_menu(txt_reader text_rd) {
		super("多格式文本超级阅读器");
		this.txt_rd=txt_rd;		
		
	    String strContent=myReadLine ("/files/text.txt"); //读取text.txt文件中的内容返回字符串
		String str_UTF8=read_UTF ("/files/UTF_8.txt"); //读取UTF_8.txt文件中的内容返回字符串
		String str_Unicode=read_Uni ("/files/Unicode.txt");
	    append("1.text\n"+strContent+"\n");  //将文本文件的内容加入到Form对象中
	    append("2.UTF8\n"+str_UTF8+"\n");
	    append("3.Unicode\n"+str_Unicode+"\n");	    
	}	
	
	private String myReadLine (String testFileName) {
        //函数头定义了函数的参数为文件名组成的字符串,返回值为一个字符串。
		InputStream  in = this.getClass().getResourceAsStream(testFileName);
        //由文件名参数来定义一个输入流对象变量in
	    ByteArrayOutputStream  s;
	    s = new ByteArrayOutputStream();  //产生内存数组输出字节流对象变量S
	    try{
	        int ch=0;
	        ch=in.read();  //由输入流对象变量in的read方法以字节为单位来读取文件的内容,读取到文件尾时的值为-1。   
	        while ( ch!= -1 ) {
	          //如果未读到文件尾把读取的内容写入S变量中,并读取下一字节内容
	                s.write( ch );
	                ch=in.read();
	            }
	            in.close();  //关闭输入流对象。
	        }  catch (IOException ioe){
	           System.out.println(ioe.toString());
	        }
	        String str = s.toString();  //将S变量转为字符串
	        try{
	            s.close();  //关闭输出流对象
	        }  catch (IOException ioe){
	           System.out.println(ioe.toString());
	        }
	        return  str.trim();  //返回文件中的内容字符串
	   }
	
	
	/**

     * 读取Unicode编码文本文件

     * @param resource String - 文件名

     * @return String - Unicode文本

     */

    public String read_Uni(String resource) {

        byte word_uni[] = new byte[1024];

        String strReturn = null;

        InputStream is;

        try {

            is = this.getClass().getResourceAsStream(resource);

            is.skip(2);            // 跳过两个字节的文件头

            is.read(word_uni);

            is.close();

            StringBuffer stringbuffer = new StringBuffer("");

            for (int j = 0; j < word_uni.length; ) {

                int l = word_uni[j++];

                int h = word_uni[j++];

                char c = (char) ((l & 0xff) | ((h << 8) & 0xff00));

                stringbuffer.append(c);

            }

            strReturn = stringbuffer.toString();

        } catch (IOException ex) {

            System.out.println(ex);

        } finally {

            is = null;

        }

        return strReturn.trim();

}  


    /**

     * 读取UTF-8编码文本文件

     * @param resource String - 文件名

     * @return String - UTF-8文本

     */

    public String read_UTF(String resource) {

        byte word_utf[] = new byte[1024];

        String strReturn = null;

        InputStream is;

        try {

            is = this.getClass().getResourceAsStream(resource);

            is.read(word_utf);

            is.close();

            strReturn = new String(word_utf, "UTF-8");

        } catch (IOException ex) {
            System.out.println(ex);
        }

        return strReturn.trim();

   }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -