文件保存:
一,界面:

二,输入文件名、文件内容,按“保存”,将文件保存到默认目录(data/应用包名/files/)。
三,知识点:利用上下文对象提供的openFileOutput实现文件保存
四,代码:
MainActivity.java :
View Code
1 package im.qvod.file; 2 3 import im.qvod.service.FileService; 4 import android.os.Bundle; 5 import android.app.Activity; 6 import android.view.Menu; 7 import android.view.View; 8 import android.view.View.OnClickListener; 9 import android.widget.Button; 10 import android.widget.EditText; 11 import android.widget.Toast; 12 13 public class MainActivity extends Activity { 14 protected void onCreate(Bundle savedInstanceState) { 15 super.onCreate(savedInstanceState); 16 setContentView(R.layout.activity_main); 17 Button button = (Button) this.findViewById(R.id.button); 18 button.setOnClickListener(new OnClickListener() { 19 public void onClick(View v) { 20 EditText filenameText = (EditText) findViewById(R.id.filename); 21 EditText filecontentText = (EditText) findViewById(R.id.filecontent); 22 String filename = filenameText.getText().toString(); 23 String filecontent = filecontentText.getText().toString(); 24 FileService service = new FileService(getApplicationContext()); 25 try { 26 service.save(filename, filecontent); 27 Toast.makeText(getApplicationContext(), R.string.success, 28 Toast.LENGTH_LONG).show(); 29 } catch (Exception e) { 30 Toast.makeText(getApplicationContext(), R.string.fail, 31 Toast.LENGTH_LONG).show(); 32 e.printStackTrace(); 33 } 34 35 } 36 }); 37 } 38 39 public boolean onCreateOptionsMenu(Menu menu) { 40 getMenuInflater().inflate(R.menu.main, menu); 41 return true; 42 } 43 44 }
FileService.java:
View Code
package im.qvod.service; import java.io.FileOutputStream; import android.content.Context; public class FileService { private Context context; public FileService(Context context) { super(); this.context = context; } public void save(String filename, String filecontent) throws Exception { FileOutputStream outputStream = context.openFileOutput(filename, Context.MODE_PRIVATE); outputStream.write(filecontent.getBytes()); outputStream.close(); } }
文件读取:
/** * 读取文件数据 * @param filename * @return * @throws Exception */ public String read(String filename) throws Exception { FileInputStream inputStream = context.openFileInput(filename); ByteArrayOutputStream arrayOutputStream = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int len = 0; while ((len = inputStream.read(buffer)) != -1) { arrayOutputStream.write(buffer, 0, len); } byte[] data = arrayOutputStream.toByteArray();// 得到存放在内存中的数据 return new String(data); }

浙公网安备 33010602011771号