永发信息网

android怎么读取txt文本?和J2ME读取文本的区别在哪里?

答案:2  悬赏:80  手机版
解决时间 2021-05-18 05:23

最近遇到android读取txt文本的问题,望高手指点下.

1.txt文本资源放在哪个路径?

2.用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; 
全部回答

我先问你说的是编程还是Gphone 读txt文本?如果你说的是编程读,那么和JAVA读文件是一样的。默认路径是在data中。但是你也可以自己定义路径。首先是文件打开

File file = new File("完整路径");

FileInputStream input = new FileInputStream(file);

利用文件输入流读,下面的你应该会了吧

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
从江浦到扬州职业大学要怎么走最快?
东安区牡丹江聚缘妈妈菜怎么去啊,谁知道地址
最近找厂好象碰到骗子,谁来帮帮我?
给pnc的钱如何赚取?
求DNF支持Vista系统的收费科技
川汇区周口合一亚健康门诊部在什么地方啊,我
圆的大小与什么无关,角的大小与什么有关系?
物理亚
潮州西车站没有去惠东的车麽,有的话是几班车,
有哪些好听又容易学的歌?
诺机亚那款手机女孩用最好看?
申通快递能送到郴州王仙岭湘南学院吗?
华龙区濮阳班店小学地址在哪,我要去那里
徐州离上海嘉定有多远,从浦东新区到嘉定区不
什么是(烟代油)?
推荐资讯
哪个地方好玩了
36级以后矿证做什么能拿到
药流期间吃不下饭怎么办?
呼兰区哈尔滨景浩黄焖鸡米饭怎么去啊,谁知道
Psp,Ndsl二手的多少钱?新的多少钱…我所在的
跪求骑马与砍杀战团1.127破解补丁
沙市区荆州美蛙鱼头火锅哪位知道具体地址啊
cad2006打开后有个多计算机单机版展开 那个怎
怎么样才能更快的找到好工作?
本人想找工作,徐州地区的,怎么办?
道里区哈尔滨羊杂面在哪里啊,我有事要去这里
南乐县濮阳河南省农村信用社24小时自助银行服
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?