A. android 读取txt文件获取每行内容
方法:抄
通过输入流的袭readline方法进行按行读取内容。
举例:
(StringfilePath){//输入文件路径FileInputStreamfis=openFileInput(filePath);//打开文件输入流StringBuffersBuffer=newStringBuffer();DataInputStreamdataIO=newDataInputStream(fis);//读取文件数据流StringstrLine=null;while((strLine=dataIO.readLine())!=null){//通过readline按行读取sBuffer.append(strLine+"");//strLine就是一行的内容}dataIO.close();fis.close();}
B. android如何读取txt文本里面的数据
public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);String fileName = "/sdcard/y.txt";//文件路径// 也可以用String fileName = "mnt/sdcard/Y.txt";String res = "";try {FileInputStream fin = new FileInputStream(fileName);// FileInputStream fin = openFileInput(fileName);// 用这个就不行了,必须用FileInputStreamint length = fin.available();byte[] buffer = new byte[length];fin.read(buffer);res = EncodingUtils.getString(buffer, "UTF-8");////依Y.txt的编码类型选择合适的编码,如果不调整会乱码fin.close();//关闭资源System.out.println("res—>"+res);int a=Integer.parseInt(res.substring(3, 5));int b=Integer.parseInt(res.substring(8, 10));System.out.println(a+"res—>"+b);//获取的a.b} catch (Exception e) {e.printStackTrace();}}
C. android读取txt文件
您好,Android的res文件夹是用来存储资源的,可以在res文件夹下建立一个raw文件夹,放置在raw文件夹下的内容会被原样打包,而不会被编译成二进制文件,并且可以通过R文件进行很方便地访问。比如我们可以将更新信息、版权信息等放到txt文件中,然后放到raw文件中,然后很方便地进行访问。在raw中放入一个a.txt文件,然后就可以在Activity中使用getResources().openRawResource(R.raw.a);方法获取一个此文件的InputStream类,而后就可以很方便地进行读写a.txt了。
D. 如何在Android中从文件中读写字符串
1、通过File获取文件2、打开输入流,读取文件写文件:1、创建文件2、打开输出流,写入文件内容示例:12345678910111213读文件:String content = ""; //文件内容字符串 //通过路径/sdcard/foo.txt打开文件 File file = new File("/sdcard/foo.txt"); try { InputStream instream = new FileInputStream(file);//读取输入流 InputStreamReader inputreader = new InputStreamReader(instream);//设置流读取方式 BufferedReader buffreader = new BufferedReader(inputreader); while (( line = buffreader.readLine()) != null) { content += line + "\n";//读取的文件内容 } }catch(Exception ex){ }写文件: File file = new File("/sdcard/foo.txt");// if(!file.exists()) file.createNewFile();//如果文件不存在,创建foo.txt try { OutputStream outstream = new FileOutputStream(file);//设置输出流 OutputStreamWriter out = new OutputStreamWriter(outstream);//设置内容输出方式 out.write("文字内容");//输出内容到文件中 out.close(); } catch (java.io.IOException e) { e.printStackTrace(); }
E. android 怎么读取文本里面的内容简介
1. 读取操作String path = "/sdcard/foo.txt";String content = ""; //文件内容字符串 //打开文件 File file = new File(path); //如果path是传递过来的参数,可以做一个非目录的判断 if (file.isDirectory()){ Toast.makeText(EasyNote.this, "没有指定文本文件!", 1000).show(); } else{ try { InputStream instream = new FileInputStream(file); if (instream != null) { InputStreamReader inputreader = new InputStreamReader(instream); BufferedReader buffreader = new BufferedReader(inputreader); String line;//分行读取 while (( line = buffreader.readLine()) != null) { content += line + "\n"; } instream.close(); } catch (java.io.FileNotFoundException e) { Toast.makeText(EasyNote.this, "文件不存在", Toast.LENGTH_SHORT).show(); } catch (IOException e) { e.printStackTrace(); } }2. 写入操作String filePath = "/sdcard/foo2.txt";String content = "这是将要写入到文本文件的内容"; //如果filePath是传递过来的参数,可以做一个后缀名称判断; 没有指定的文件名没有后缀,则自动保存为.txt格式 if(!filePath.endsWith(".txt") && !filePath.endsWith(".log")) filePath += ".txt"; //保存文件 File file = new File(filePath); try { OutputStream outstream = new FileOutputStream(file); OutputStreamWriter out = new OutputStreamWriter(outstream); out.write(content); out.close(); } catch (java.io.IOException e) { e.printStackTrace(); }
F. android读取TXT文件数据
先用java的方法得到数据流,下面是对流进行操作:private void dealLine(String line){String int1 = line.substring(line.indexOf("(")+1, line.indexOf(","));//获得第一个数字String int2 = line.substring(line.indexOf(",")+1,line.indexOf(")"));//第二个System.out.println(int1+" "+int2);int i1 = Integer.parseInt(int1);int i2 = Integer.parseInt(int2);//转为数字System.out.println(i1+" "+i2);}public void dealFile(String path){File file = new File(path);//得到文件if(file.exists()){try{FileReader reader = new FileReader(file);BufferedReader bRreader = new BufferedReader(reader);String line = null;while((line = bRreader.readLine()) != null)//读操作dealLine(line);}catch(Exception e){System.out.println("get Reader error:"+e.getMessage());}}}
G. Android开发之如何读写文件
【转】
首先介绍如何存储数据,显然,要将数据从应用中输出到文件中,必须得到一个输出流outPutStream,然后往输出流中写入数据,在这里Android自带了一个得到应用输出流的方法
FileOutputStream fos =context.openFileOutput(“yuchao.txt”,Context.MODE_PRIVATE); (1)
其中第一个属性为文件名,第二个属性为读写模式(有关读写模式的说明下面将详细阐述),
然后在文件输出流fos中便可以写入数据
Fos.write(“Hi,”I’m Chao Yu!”.getBytes());
用完文件输出流之后记得关闭
fos.close();
这样,在/data/data/packageName/file目录下就生成了一个文件名为yuchao.txt的文件,文件中的内容为” Hi,I’m Chao Yu!”
有关(1)中读写模式其实就是制定创建文件的权限以及在读写的时候的方式,Android中提供了以下几种读写模式
Context.MODE_PRIVATE = 0
该模式下创建的文件其他应用无权访问,并且本应用将覆盖原有的内容
Context.MODE_APPEND = 32768
该模式下创建的文件其他应用无权访问,并且本应用将在原有的内容后面追加内容
Context.MODE_WORLD_READABLE = 1
该模式下创建的文件其他应用有读的权限
Context.MODE_WORLD_WRITEABLE = 2
该模式下创建的文件其他应用有写的权限
如果需要将文件设置为外部应用可以读写,可将读写模式设置为Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE
一般情况下,各个应用维护的数据都在一个特定的文件夹中,即上面所提到的/data/data/packageName/file(存在于手机存储中),但手机内存毕竟有限,所以有些情况下,我们需要往SD卡中写入数据文件,这其实和普通的java web 应用步骤一样,都是先创建特针对特定目录特定文件的输出流,然后往输出流中写数据,这里要注意一个方法,就是获取SD卡根目录的方法,随着Android系统不断升级,SD卡的根目录随时都有可能改变,Android中得到SD卡根目录的方法是
File sdCardDir = Environment.getExternalStorageDirectory();
然后就可以进行下面的步骤
File saveFile = new File(sdCardDir, “yuchao.txt”);
FileOutputStream outStream = new FileOutputStream(saveFile);
outStream.write("Hi,I’m ChaoYu".getBytes());
outStream.close();
值得注意的是,在往SD卡中写数据的时候,健壮的代码必须考虑SD卡不存在或者写保护的情况,故在写入之前,先做判断
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
……
}
接着,我们来学习下我们的应用程序如何读取文件中的数据,其实就是写的逆向过程
若要读取应用程序默认维护的文件(即/data/data/packageName/file目录下的文件),首先得到文件输入流
FileInputStream istream = this.context.openFileInput(“yuchao.txt”);
然后在内存中开辟一段缓冲区
byte[] buffer = new byte[1024];
然后创建一个字节数组输出流
ByteArrayOutputStream ostream = new ByteArrayOutputStream();
读出来的数据首先放入缓冲区,满了之后再写到字符输出流中
while((len=istream.read(buffer))!=-1){
ostream.write(buffer, 0, len);
}
最后关闭输入流和输出流
istream.close();
ostream.close();
将得到的内容以字符串的形式返回便得到了文件中的内容了,这里的流操作较多,故以一张图片来说明,见图1
return new String(ostream.toByteArray());
从SD卡中读取数据与上述两个步骤类似,故不再赘述,留给读者自己思考
如在开发过程中进行SD卡地读写,切忌忘了加入权限
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
至此,Android系统中有关文件数据的读写介绍完毕。
H. android 开发怎么读取并显示txt文件
StringBuffer sb = new StringBuffer();File file = new File("myfile.txt");BufferedReader br = new BufferedReader(new FileReader(file));String line = "";while((line = br.readLine())!=null){sb.append(line);}br.close();(TextView)findViewById(R.id.text1).setText(sb.toString());第二行,创建文件对象,指向专需要读取的文件第三行属,创建文件Reader对象,读取指定的文件第四五行,创建一个line接受读取的文件内容,因为是文本文件,所以一行一行读第八行,关闭文件读取对象第九行,将文本文件内容写入到TextVIew中
I. 如何用安卓文件系统读写数据
经过ARM板-RK3288和小米手机的测试。亲测可以使用。
博客中写的欠缺的地方,无所谓,直接去看代码,里面的注释很详细。程序员看代码就行了,每个函数全部封装好了,废话不多话。博客很长,大家慢慢看,看完一劳永逸,以后直接调我的函数就行了,但是讲的很详细,全部都是对比的来实现,方便大家的阅读。
总体:大家依据直接饿的需求去看
一、先大体的介绍一下理论部分,这里还是很重要的。
二、常见的存储数据的方式
三、IO 文件流的读取方式
四、sharedPreference 存储
五、SQLite的存储方式
六、assets的存储方式
七、res的存储方式
八、raw的存储方式
一、先大体的介绍一下理论部分,这里还是很重要的。
安卓存储文件、数据的地方: RAM、ROM、内存(内部存储器)、APP程序里面(Assets,raw,res),SD卡(早期的安卓的可以插卡,现在的不支持了,但是有些 arm板 嵌入式方向的还是带卡槽的),总体上来说就是这些了,网络。
接下来再细分:
1、RAM、ROM 这些东西我们就别碰了,不然一大堆问题,Environment.getRootDirectory() 需要获取root权限,不合适
2、内存和SD卡 大家得理解 Environment.getExternalStorageState() 代表的是什么意思,不是插卡的SD卡,而是说你买了开发板、手机,厂家送你的存储地方(直接你得让他送你哈)。 这部分作为主要的存储路径,小数据和大数据都适用。
3、SD卡,黑色那张卡,老古董,现在手机都没有了,不建议大家使用,非要去使用,我也写了相关的代码(根据机型,不通用,切记,不能用不能怪我,这个只提供思路)。
4、网络,请求自己的服务器,读取数据,URI的方式,httpClient post 和 get 两种请求数据的方式
存储的地方就这么多了。
二、常见的存储数据的方式
1、sharedPreference, 将数据保存为 xml 的格式,
2、数据库 将SQLite的方式
3、contentprovider APP之间交互数据的方式。(这里不讲,没有用过,没有发言权)
4、文件的读取(IO流) 和 Java的操作类似。
5、Android内部的存储 assets,res, raw, 三者的区别
assets 和 raw 是不会随着 APP进行编译, res下的文件会随着app一起编译,每次 shift+alt+x 都要等好久
assets目录下可以创建子文件夹 raw 不可以
J. android编程:怎样读取txt文件
StringBuffer buffer = new StringBuffer(); try { FileInputStream fis = new FileInputStream("/sdcard/XXX.txt");InputStreamReader isr = new InputStreamReader(fis,"GB2312");//文件编码,UTF-8,ASCII,GB2312,Big5 Reader in = new BufferedReader(isr); int ch; while ((ch = in.read()) > -1) { buffer.append((char)ch); } in.close(); tv.setText(buffer.toString()); //buffer.toString())就是读出的内容字符 } catch (IOException e) { tv.setText("文件不存在!") }
未经允许不得转载:山九号 » android文件读取文件内容|android编程:怎样读取txt文件