❶ 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系统中有关文件数据的读写介绍完毕。
❷ Android 根目录下读写.txt文件
//根目录权限不允许,放到/data/packeg_dir下或SD卡中
packagecom.example.demo;
Filedir=Environment.getDataDirectory();//获取data目录
//Environment.getExternalStorageDirectory();//获取SD卡目录
FileoutFile=newFile(dir,"/data/com.example.demo/text.txt");//只能在自己的程序专包里建立文件,这是属权限问题
❸ android 如何读写文件
读文件:
1、通过File获取文件
2、打开输入流,读取文件
写文件:
1、创建文件
2、打开输出流,写入文件内容
示例:
读文件:
Stringcontent="";//文件内容字符串
//通过路径/sdcard/foo.txt打开文件
Filefile=newFile("/sdcard/foo.txt");
try{
InputStreaminstream=newFileInputStream(file);//读取输入流
InputStreamReaderinputreader=newInputStreamReader(instream);//设置流读取方式
BufferedReaderbuffreader=newBufferedReader(inputreader);
while((line=buffreader.readLine())!=null){
content+=line+" ";//读取的文件内容
}
}catch(Exceptionex){
}
写文件:
Filefile=newFile("/sdcard/foo.txt");//
if(!file.exists())
file.createNewFile();//如果文件不存在,创建foo.txt
try{
OutputStreamoutstream=newFileOutputStream(file);//设置输出流
OutputStreamWriterout=newOutputStreamWriter(outstream);//设置内容输出方式
out.write("文字内容");//输出内容到文件中
out.close();
}catch(java.io.IOExceptione){
e.printStackTrace();
}
❹ 安卓上有什么软件可以对txt文本进行编辑么
这种软件很多的。比较好用,同时用的也比较多的,应该是WPS OFFICE。WPS OFFICE终生免费,没有功能限制。能编辑WORD PPT TXT能多部分文档,应该足够你用了。 应用介绍: 崭新界面设计全面开启,操作得到更大幅度的提高和优化最佳安卓办公软件,个人版永久免费,体积小、速度快;独有手机阅读模式,字体清晰翻页流畅;完美支持微软Office、PDF等二三种文档格式;文档漫游功能,让你离开电脑一样办公。用户多:全球用户 500,000,000!口碑好:Google Play 超过四90,000五星评价。排名高:全球APP总榜同类产品排名No.一。... 展开 崭新界面设计全面开启,操作得到更大幅度的提高和优化 最佳安卓办公软件,个人版永久免费,体积小、速度快;独有手机阅读模式,字体清晰翻页流畅;完美支持微软Office、PDF等二三种文档格式;文档漫游功能,让你离开电脑一样办公。 用户多:全球用户 500,000,000! 口碑好:Google Play 超过四90,000五星评价。 排名高:全球APP总榜同类产品排名No.一。 ★WPS文字:超强的文档处理能力 支持查看和编辑doc/docx文档,同时支持Word文档的加密和解密。查找替换、书签笔记功能则针对移动设备做了特别优化。 ★WPS表格:强大的表格计算能力 支持xls/xlsx文档的查看和编辑,以及多种Excel加解密算法。已支持三05种函数和三四种图表模式,提供专用公式输入编辑器,方便用户快速录入公式。 ★WPS 演示:会议演讲的明星 支持ppt pptx文档的查看、编辑和加解密,支持复杂的SmartArt对象和多种对象动画/翻页动画模式。特有互联中国共享播放功能。 ★PDF:全新手机阅读模式 PDF组件在查看PDF文档时提供了双重引擎,手机阅读模式更加符合用户的阅读习惯
❺ Android开发问一下现在7.0怎么写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中