Android文件读写
16lz
2021-12-20
package com.xiva;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import android.test.AndroidTestCase;import android.util.Log;public class UnitTest extends AndroidTestCase{private static final String Tag = "UnitTest";public void testCall() throws Exception{int i = 1+1;i = this.compute(i);Log.i(Tag,"result="+i);}/** * @description 访问其他文件 * @throws Exception */public void testRead() throws Exception{File file = new File("/data/data/com.xiva.file/files/test.txt");InputStream iStream = new FileInputStream(file);String result = read(iStream);Log.i(Tag, result);}/** * * @throws Exception */public void testWrite() throws Exception{File file = new File("/data/data/com.xiva.file/files/test.txt");FileOutputStream iStream = new FileOutputStream(file);save(iStream,"test");}public int compute(int FirNum){int secondNum = 10;int result = secondNum + FirNum;return result;}public static String read(InputStream iStream) throws IOException{ByteArrayOutputStream oStream = new ByteArrayOutputStream();byte[] buffer = new byte[1024];int len = -1;while((len = iStream.read(buffer)) != -1){oStream.write(buffer, 0, len);}byte[] data = oStream.toByteArray();iStream.close();oStream.close();return new String(data);}public static void save(OutputStream oStream,String content) throws IOException{oStream.write(content.getBytes());oStream.close();}}
贴出主要代码,其他代码见附件!
package com.xiva.file;import java.io.InputStream;import java.io.OutputStream;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;import android.widget.Toast;public class FileActivity extends Activity {private EditText fileName;private EditText content;private TextView textContent;private static final String TAG = "FileActivity"; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); fileName = (EditText) this.findViewById(R.id.fileName); content = (EditText) this.findViewById(R.id.content); textContent = (TextView) this.findViewById(R.id.textContent); Button saveBtn = (Button)this.findViewById(R.id.saveButton); Button viewBtn = (Button)this.findViewById(R.id.viewButton); saveBtn.setOnClickListener(listener);//保存按钮事件监听 viewBtn.setOnClickListener(listener);//查看按钮事件监听 } private View.OnClickListener listener = new View.OnClickListener(){ public void onClick(View v) {// TODO Auto-generated method stubButton button = (Button) v;String nameStr = fileName.getText().toString().trim(); String contentStr = content.getText().toString(); switch(button.getId()) { case R.id.saveButton : int resId_s = R.string.success; OutputStream fileOS = null; try {// Context.MODE_APPEND----已append的模式保存文件内容,// 将现在的内容追加到原有文件内容之后// Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,// 只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容// Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE// 用来控制其他应用是否有权限读写该文件 fileOS = FileActivity.this.openFileOutput(nameStr+".txt", Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE + Context.MODE_APPEND); //下面写法即有读权限,也有写权限;如若又想用追加方式 ,加上"+Context.MODE_APPEND"即可.// fileOS = FileActivity.this.openFileOutput(nameStr+".txt",// Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE); FileService.save(fileOS, contentStr); } catch (Exception e) { resId_s = R.string.failure; e.printStackTrace(); } //界面提示 Toast.makeText(FileActivity.this, resId_s, Toast.LENGTH_LONG).show(); Log.i(TAG, nameStr); Log.i(TAG, contentStr); break; case R.id.viewButton : int resId_v = R.string.readSucc; InputStream fileIS = null; String contentSt = null;try {fileIS = FileActivity.this.openFileInput(nameStr+".txt");contentSt = FileService.read(fileIS);} catch (Exception e) {resId_v = R.string.readFail;e.printStackTrace();}textContent.setText(contentSt);Log.i(TAG, contentSt);Toast.makeText(FileActivity.this, resId_v, Toast.LENGTH_LONG).show();Log.i(TAG, nameStr);break; }} }; }
更多相关文章
- android 入门demo 事件监听
- android 7.0+下载安装
- 【Android】监听电话状态
- android 权限
- Android(安卓)issues
- Android(安卓)获取GPS速度
- android、pull解析xml
- Android消息通知声音和振动
- API 25 (Android(安卓)7.1.1 API) Manifest.permission——权限