【IT168 技术】环境:1.系统:window7
2.Android版本:2.2
3.eclipse3.5.2(伽利略)
一、基本的流程图(写入文件)

▲
二、模拟器运行界面
1.主界面

▲
2.保存(不符合条件)

▲
3.正常保存

▲
4.读取文件

▲
5.关于编者

▲
三、代码如下:
1.保存文件的主要代码
保存的主代码
1 bSave.setOnClickListener(new View.OnClickListener() { 2 3 @Override 4 public void onClick(View v) { 5 // TODO Auto-generated method stub 6 resId=R.string.success; 7 file_name=filename.getText().toString(); 8 file_content=filecontent.getText().toString(); 9 /* openFileOutput API10 * FileOutputStream openFileOutput (String name, int mode)11 * Open a private file associated with this Context's application package for writing. Creates the file if it doesn't already exist.12 */13 /* Context四种模式的API14 * Context.MODE_APPEND -->if the file already exists then write data to the end of the existing file instead of erasing it.15 * Context.MODE_PRIVATE -->the default mode, where the created file can only be accessed by the calling application (or all applications sharing the same user ID). 16 * Context.MODE_WORLD_READABLE -->allow all other applications to have read access to the created file.17 *
Context.MODE_WORLD_WRITEABLE -->allow all other applications to have write access to the created file.18 */19 flag=InsertInfo();20 if(flag){21 try{22 OutputStream outStream=FileStoreActivity.this.openFileOutput(file_name, MODE_PRIVATE);23 FileService.save(outStream, file_content);24 25 }catch(Exception e){26 Log.e(TAG, e.toString());27 resId=R.string.error;28 }29 Toast.makeText(FileStoreActivity.this, resId, Toast.LENGTH_LONG).show();30 }31 }32 33 34 });
2.读取文件的主要代码
读取主代码
1 Button bRead=(Button)findViewById(R.id.read); 2 bRead.setOnClickListener(new View.OnClickListener() { 3 4 @Override 5 public void onClick(View v) { 6 // TODO Auto-generated method stub 7 //此时隐藏了文件内容框和文件内容的label 8 filecontent.setVisibility(View.GONE); 9 TextView content=(TextView)findViewById(R.id.content);10 content.setVisibility(View.GONE);11 InputStream inStream;12 file_name=filename.getText().toString();13 14 /* API15 * FileInputStream openFileInput (String name) 16 * Open a private file associated with this Context's application package for reading. 17 */18 try {19 inStream = FileStoreActivity.this.openFileInput(file_name);20 String context=FileService.read(inStream).toString();21 Toast.makeText(FileStoreActivity.this, context, Toast.LENGTH_LONG).show();22 } catch (Exception e) {23 Log.e(TAG,e.toString());24 resId=R.string.error;25 }26 }27 });
3.关于编者的代码
关于编码代码
Button bAbout=(Button)findViewById(R.id.about); bAbout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub new AlertDialog.Builder(FileStoreActivity.this).setTitle("编者信息") .setMessage( "编者: naive_monk" + " " + "爱好:篮球、音乐、交友" + " " + "Q Q:1271522052" + " " + "邮箱:summerdir@gmail.com" + " " + "所在城市:广东惠州 " + " ") .setCancelable(false).setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(
DialogInterface dialog, int id) { // TODO Auto-generated method stub dialog.dismiss(); } }).setNegativeButton("退出", new DialogInterface.OnClickListener() { @Override public void onClick( DialogInterface dialog, int id) { // TODO Auto-generated method stub dialog.dismiss(); } }).show(); } });
4.业务代码
代码
/* * 保存文件 */ public static void save(OutputStream outStream, String content) throws Exception { // 写入数据 outStream.write(content.getBytes()); outStream.close(); } /* * 读取文件 */ public static String read(InputStream inStream) throws Exception { // 字节流 ByteArrayOutputStream outStream = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int len = -1; //获取字节数据 while ((len = inStream.read(buffer)) != -1) { outStream.write(buffer, 0, len); } //得到字节数据 byte[] data = outStream.toByteArray(); outStream.close(); inStream.close(); return new String(data); }
四、小结
这个例子只是简单的操作文件的读写,很多地方都不够完善,希望有兴趣的网友们可以互相交流下~~~