Android中的文件存储练习

  1 package com.example.filedemo1;

  2 

  3 import java.io.BufferedReader;

  4 import java.io.BufferedWriter;

  5 import java.io.ByteArrayOutputStream;

  6 import java.io.File;

  7 import java.io.FileInputStream;

  8 import java.io.FileNotFoundException;

  9 import java.io.FileOutputStream;

 10 import java.io.FileReader;

 11 import java.io.FileWriter;

 12 import java.io.IOException;

 13 

 14 import android.os.Bundle;

 15 import android.app.Activity;

 16 import android.util.Log;

 17 import android.view.Menu;

 18 import android.view.View;

 19 import android.view.View.OnClickListener;

 20 import android.widget.Button;

 21 import android.widget.EditText;

 22 import android.widget.TextView;

 23 import android.widget.Toast;

 24 

 25 public class MainActivity extends Activity {

 26 //    private BufferedWriter bufferedWriter;

 27 //    private BufferedReader bufferedReader;

 28     private EditText edt;

 29     private Button bt;

 30     private TextView tv;

 31     @Override

 32     protected void onCreate(Bundle savedInstanceState) {

 33         super.onCreate(savedInstanceState);

 34         setContentView(R.layout.activity_main);

 35 //        File file = new File("/mnt/sdcard/text");

 36 //        if(!file.exists()){

 37 //            try {

 38 //                file.createNewFile();

 39 //                Toast.makeText(MainActivity.this, "创建文件成功!", Toast.LENGTH_SHORT).show();

 40 //            } catch (IOException e) {

 41 //                // TODO Auto-generated catch block

 42 //                e.printStackTrace();

 43 //            }

 44 //        }else{

 45 //            Toast.makeText(MainActivity.this, "文件已存在!", Toast.LENGTH_SHORT).show();

 46 //        }

 47 ////        file.delete();

 48 //        try {

 49 //            bufferedWriter = new BufferedWriter(new FileWriter("/mnt/sdcard/text",true));

 50 //            bufferedWriter.write("第一行!");

 51 //            bufferedWriter.newLine();

 52 //            bufferedWriter.write("第二行!");

 53 //            bufferedWriter.flush();

 54 //            bufferedWriter.close();

 55 //            bufferedReader = new BufferedReader(new FileReader("/mnt/sdcard/text"));

 56 //            Log.i("info",bufferedReader.readLine());

 57 //            Log.i("info",bufferedReader.readLine());

 58 //        } catch (IOException e) {

 59 //            // TODO Auto-generated catch block

 60 //            e.printStackTrace();

 61 //        }

 62 //        File file = this.getFilesDir();

 63 //        Log.i("info", file.toString());

 64 //        File file = this.getCacheDir();

 65 //        Log.i("info", file.toString());

 66 //        File file = this.getDir("imooc", MODE_PRIVATE);

 67 //        Log.i("info", file.toString());

 68 //        File file = this.getDir("mirror", MODE_PRIVATE);

 69 //        Log.i("info", file.toString());

 70 //        File file = this.getExternalCacheDir();

 71 //        Log.i("info", file.toString());

 72         edt = (EditText) findViewById(R.id.editText1);

 73         bt = (Button) findViewById(R.id.write);

 74         tv = (TextView) findViewById(R.id.contentvalue);

 75 //        try {

 76 //            bufferedWriter = new BufferedWriter(new FileWriter("/mnt/sdcard/text"));

 77 //            bufferedReader = new BufferedReader(new FileReader("/mnt/sdcard/text"));

 78 //            bt.setOnClickListener(new OnClickListener() {

 79 //                

 80 //                @Override

 81 //                public void onClick(View v) {

 82 //                    // TODO Auto-generated method stub

 83 //                    String str = edt.getText().toString();

 84 //                    Log.i("info", str);

 85 //                    if(str != null) {                

 86 //                            try {

 87 //                                bufferedWriter.write("a");

 88 //                                bufferedWriter.flush();

 89 //                                bufferedWriter.close();

 90 //                                str = bufferedReader.readLine();

 91 //                                Log.i("info", str);

 92 //                                if(str!= null){

 93 //                                    Log.i("info", str);

 94 //                                    tv.append(str);

 95 //                                    Log.i("info", str);

 96 //                                    str = bufferedReader.readLine();

 97 //                                }

 98 ////                                Log.i("info", str);

 99 //                                bufferedReader.close();

100 //                            } catch (IOException e) {

101 //                                // TODO Auto-generated catch block

102 //                                e.printStackTrace();

103 //                            }                

104 //                    }

105 //                }

106 //            });

107 //        } catch (IOException e) {

108 //            // TODO Auto-generated catch block

109 //            e.printStackTrace();

110 //        }

111         bt.setOnClickListener(new OnClickListener() {

112             

113             @Override

114             public void onClick(View v) {

115                 // TODO Auto-generated method stub

116                 try {

117                     writeFiles(edt.getText().toString());

118                     tv.setText(readFiles());

119                 } catch (IOException e) {

120                     // TODO Auto-generated catch block

121                     e.printStackTrace();

122                 }

123             }

124         });

125     }

126     

127     public void writeFiles(String content) throws IOException {

128         FileOutputStream fos = openFileOutput("a.txt", MODE_PRIVATE);

129         fos.write(content.getBytes());

130         fos.close();

131     }

132     

133     public String readFiles() throws IOException {

134         String content = null;

135         FileInputStream fis = openFileInput("a.txt");

136         ByteArrayOutputStream baos = new ByteArrayOutputStream();

137         byte[] buffer = new byte[1024];

138         int len = 0;

139         while((len = fis.read(buffer)) != -1) {

140             baos.write(buffer,0,len);

141         }

142         content = baos.toString();

143         fis.close();

144         baos.close();

145         return content;    

146     }

147 }

xml布局中有一个EditText,一个Button和一个TextView。自己在看教程之前先写了一个,失败。下面是教程中给出的方法。中间因为搞错了组件id,浪费了很多时间。

你可能感兴趣的:(android)