Android菜鸟学习笔记

导航

 

文件保存:

一,界面:

二,输入文件名、文件内容,按“保存”,将文件保存到默认目录(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);
        

    }

 

 

 

posted on 2013-04-03 16:23  Android菜鸟学习笔记  阅读(122)  评论(0)    收藏  举报