android---文件的保存与读取

文件的保存:

Service类:

import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;


import android.content.Context;


public class FileService {
private Context context;
public FileService(Context context) {
super();
this.context = context;
}
/**
 * 
 * 保存文件
 * @param filename
 * @param filecontent
 */
public void save(String filename,String filecontent)throws Exception{
//私有操作模式:创建出来的文件只能被本应用访问,其他应用无法访问该文件,另外采用私有操作模式创建的文件,写入文件中的内容会覆盖原文件的内容

FileOutputStream outStream=context.openFileOutput(filename, Context.MODE_PRIVATE);
    outStream.write(filecontent.getBytes());
    outStream.close();
}
/**
 * 读取文件
 * @param filename
 * @return
 * @throws Exception
 */
public String read(String filename) throws Exception{

FileInputStream inStream=context.openFileInput(filename);
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();
String str=new String(data);
return str;

}


}


MainActivity:



public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button=(Button) this.findViewById(R.id.button);
button.setOnClickListener(new ButtonClickListener());
}
private final class ButtonClickListener implements View.OnClickListener{


@Override
public void onClick(View v) {
 EditText filenameText=(EditText) findViewById(R.id.filename);
 EditText filecontentText=(EditText) findViewById(R.id.filecontent);
 String filename=filenameText.getText().toString();
 String filecontent=filecontentText.getText().toString();
 FileService service=new FileService(getApplicationContext());
 try {
service.save(filename, filecontent);
 Toast.makeText(getApplicationContext(), R.string.success, 1).show();
} catch (Exception e) {
 Toast.makeText(getApplicationContext(), R.string.fail, 1).show();
e.printStackTrace();
}


}

}


@Override
public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.main, menu);
return true;
}


}


知识点:

java IO流的运用


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值