context.openFileoutput及文件存储,删除,读取简单用法
2016-05-20 10:21
671 查看
package operate.File;import java.io.ByteArrayOutputStream;import java.io.FileInputStream;import
java.io.FileOutputStream;import java.io.IOException;import android.content.Context;public
class FileService { Context context;
public FileService(Context context){ this.context=context; }
public void FileSave(String filename,String content)
throws IOException{ FileOutputStream fos=context.openFileOutput(filename, Context.MODE_PRIVATE); fos.write(content.getBytes()); fos.close(); }
public String FileRead(String filename)
throws IOException{ FileInputStream fin=context.openFileInput(filename);
byte[] b=new
byte[fin.available()]; ByteArrayOutputStream buffer=new ByteArrayOutputStream();
while((fin.read(b))!=-1){ buffer.write(b); }
byte[] data; data=buffer.toByteArray(); buffer.close(); fin.close();
return new String(data); } }
Activity代码
布局文件
string XML
openFileOutput(“a.txt”,Context.MODE_WORLD_READABLE)方法第一个参数是文件名,若不存在这个文件,则自动创建,第二个参数是操作模式共四种:
Context.MODE_PRIVATE = 0
Context.MODE_APPEND = 32768
Context.MODE_WORLD_READABLE = 1
Context.MODE_WORLD_WRITEABLE = 2
Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中。可以使用Context.MODE_APPEND
Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。
Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件。
MODE_WORLD_READABLE:表示当前文件可以被其他应用读取;MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入。
如果希望文件被其他应用读和写,可以传入:
openFileOutput(“itcast.txt”, Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE);
package operate.File;import java.io.ByteArrayOutputStream;import java.io.FileInputStream;import
java.io.FileOutputStream;import java.io.IOException;import android.content.Context;public
class FileService { Context context;
public FileService(Context context){ this.context=context; }
public void FileSave(String filename,String content)
throws IOException{ FileOutputStream fos=context.openFileOutput(filename, Context.MODE_PRIVATE); fos.write(content.getBytes()); fos.close(); }
public String FileRead(String filename)
throws IOException{ FileInputStream fin=context.openFileInput(filename);
byte[] b=new
byte[fin.available()]; ByteArrayOutputStream buffer=new ByteArrayOutputStream();
while((fin.read(b))!=-1){ buffer.write(b); }
byte[] data; data=buffer.toByteArray(); buffer.close(); fin.close();
return new String(data); } }
Activity代码
package operate.File; import java.io.File; import java.io.IOException; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class OpfActivity extends Activity implements OnClickListener{ /** Called when the activity is first created. */ Button button,rbutton,dbutton; EditText filename,content; FileService service; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Init(); } public void Init(){ button=(Button)findViewById(R.id.button); rbutton=(Button)findViewById(R.id.rbutton); dbutton=(Button)findViewById(R.id.dbutton); filename=(EditText)findViewById(R.id.filename); content=(EditText)findViewById(R.id.content); service=new FileService(this); button.setOnClickListener(this); rbutton.setOnClickListener(this); dbutton.setOnClickListener(this); } @Override public void onClick(View v) { // TODO Auto-generated method stub if(v==button){ try { service.FileSave(filename.getText().toString(), content.getText().toString()); Toast.makeText(OpfActivity.this, R.string.success, 1).show(); } catch (IOException e) { // TODO Auto-generated catch block Toast.makeText(OpfActivity.this, R.string.failure, 1).show(); Log.i("错误提示" 4000 , e.toString()); } } if(v==rbutton){ try { Toast.makeText(OpfActivity.this, service.FileRead(filename.getText().toString()), 1).show(); } catch (IOException e) { // TODO Auto-generated catch block Toast.makeText(OpfActivity.this, R.string.notfind, 1).show(); } } if(v==dbutton){ File f=new File(getFilesDir(), filename.getText().toString()); if(f.exists()){ Toast.makeText(OpfActivity.this, "删除成功", 1).show(); f.delete(); } } } }
布局文件
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/filename" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/filename" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/content" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/content" android:minLines="3" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/button" android:id="@+id/button"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/rbutton" android:id="@+id/rbutton"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/delete" android:id="@+id/dbutton"/> </LinearLayout>
string XML
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, OpfActivity!</string> <string name="app_name">Opf</string> <string name="filename">输入文件名称</string> <string name="content">输入文件内容</string> <string name="button">保存</string> <string name="rbutton">读取</string> <string name="success">文件保存成功</string> <string name="failure">文件保存失败</string> <string name="notfind">不存在该文件</string> <string name="delete">删除文件</string> </resources>
openFileOutput(“a.txt”,Context.MODE_WORLD_READABLE)方法第一个参数是文件名,若不存在这个文件,则自动创建,第二个参数是操作模式共四种:
Context.MODE_PRIVATE = 0
Context.MODE_APPEND = 32768
Context.MODE_WORLD_READABLE = 1
Context.MODE_WORLD_WRITEABLE = 2
Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中。可以使用Context.MODE_APPEND
Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。
Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件。
MODE_WORLD_READABLE:表示当前文件可以被其他应用读取;MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入。
如果希望文件被其他应用读和写,可以传入:
openFileOutput(“itcast.txt”, Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE);
相关文章推荐
- shell 字符串操作命令详解
- 怎么在Centos7下添加win8.1的启动项
- docker学习
- linux设备驱动归纳总结:2.match.probe.remove
- linux设备驱动归纳总结:1.总线、设备和驱动
- tomcat的connector与container原理分析(一)
- 解密SparkStreaming运行机制和架构
- linux内文件说明
- 新人选择搭建个人网站需要考虑的8个问题
- clipToPadding clipChildren
- Multinomial Logistic Loss and Cross Entropy Loss are the same
- NSRunloop学习
- linux shell 下将字符串分割成数组
- 电商网站怎么做站内优化
- opencv使用svm
- Linux中文件的查找whereis、locate、find
- Docker学习笔记 — Swarm搭建Docker集群
- 树莓派及其他硬件平台国内外Linux镜像站全汇总
- 架构师之路(1)---面向过程和面向对象
- nginx lua处理图片