android中file的保存

来源:互联网 发布:flashlight mac 编辑:程序博客网 时间:2024/06/05 06:40

  代码如下:

布局代码略:


1.Activity代码如下:

public class MainActivity extends Activity {
   
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button=(Button) findViewById(R.id.bn1);
        button.setOnClickListener(new baoCun());
    }
  private final class baoCun implements OnClickListener{


@Override
public void onClick(View v) {
// TODO Auto-generated method stub
EditText edit=(EditText) findViewById(R.id.edit_1);
EditText edit2=(EditText) findViewById(R.id.edit_2);

//获得需要保存的文件名称
String str1=edit.getText().toString();

//获得需要保存的内容
String str2=edit2.getText().toString();

//创建一个新的对象
FileService service=new FileService(getApplicationContext());
try {

//创建一个方法
service.save(str1,str2);
Toast.makeText(getApplicationContext(),"保存成功",Toast.LENGTH_SHORT).show();
} catch (Exception e) {
// TODO Auto-generated catch block

e.printStackTrace();
}
}
 
  }   
}



//在Activity中创建的对象

2.FileService

 public class FileService {
  private Context context;

//创建一个构造方法,用来传值
public FileService(Context context) {

this.context = context;
}

//创建save方法传入文件名和文件内容作为参数:
public void save(String str1,String str2) throws Exception {
//创建文件流中的FileOutPutStream对象;用上下文的openFileOutPut方法打开文件,注意方法的参数一个是文件一个是访问权限
FileOutputStream outStream= context.openFileOutput(str1, context.MODE_PRIVATE);
   //字符串转为字节形式
outStream.write(str2.getBytes());
outStream.close();
}
public String read(String str1) throws Exception{
FileInputStream inStream=context.openFileInput(str1);
//往内存中写数据
ByteArrayOutputStream outStream=new ByteArrayOutputStream();

//定义缓冲区
byte [] buffer=new byte[1024];
int len=0;
while((len=inStream.read(buffer))!=-1){
outStream.write(buffer, 0, len);
}
//获取内存中的所有文件
byte[]data=outStream.toByteArray();
   return new String(data);
}
}

0 0
原创粉丝点击