📄 reader_menu.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 + -