饭饭草原

导航

sp,文件以及SDcard存储

XML:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <Button
        android:id="@+id/btnWrite"
        android:layout_width="match_parent"
        android:layout_marginTop="20dp"
        android:layout_height="wrap_content"
        android:text="sp存储" />

    <Button
        android:id="@+id/btnRead"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="sp读取" />

    <Button
        android:id="@+id/btnfileWrite"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="文件存储" />
   
    <Button
        android:id="@+id/btnfileRead"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="文件读取" />
   
    <Button
        android:id="@+id/btnFileWriteToSd"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="SDCard存储" />
   
    <Button
        android:id="@+id/btnFileReadToSd"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="SDCard读取" />
</LinearLayout>

 

Activity:

public class ShareActivity extends Activity implements OnClickListener {

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.sharepreference);
  findViewById(R.id.btnWrite).setOnClickListener(this);
  findViewById(R.id.btnRead).setOnClickListener(this);
  findViewById(R.id.btnFileWriteToSd).setOnClickListener(this);
  findViewById(R.id.btnfileWrite).setOnClickListener(this);
  findViewById(R.id.btnfileRead).setOnClickListener(this);
  findViewById(R.id.btnFileReadToSd).setOnClickListener(this);
 }
 @Override
 public void onClick(View v) {
  switch (v.getId()) {
  case R.id.btnWrite:
   SharedPreferences sp = getSharedPreferences("setting",
     Context.MODE_PRIVATE);
   SharedPreferences.Editor editor = sp.edit();
   editor.putString("name", "张三");
   editor.putInt("age", 25);
   editor.putInt("weight", 120);
   editor.commit();
   break;
  case R.id.btnRead:
   SharedPreferences spread = getSharedPreferences("setting",
     Context.MODE_PRIVATE);
   String name = spread.getString("name", "null");
   int age = spread.getInt("age", 18);
   int weight = spread.getInt("weight", 15);
   Toast.makeText(this, name + "--" + age + "--" + weight,
     Toast.LENGTH_LONG).show();
   break;
  case R.id.btnfileWrite:
   writeFile();
   break;
  case R.id.btnfileRead:
   readFile();
   break;
  case R.id.btnFileWriteToSd:
            writeFilesToSDCard();
   break;
  case R.id.btnFileReadToSd:
   readFilesFromSDCard();
   break;
  }

 }
 // 写文件
 public void writeFile() {
  FileOutputStream os = null;
  try {
   os = this.openFileOutput("jerei.txt", Context.MODE_PRIVATE);
   os.write("姓名:张三".getBytes());
   os.write("年龄:25".getBytes());
   os.write("体重:100".getBytes());
  } catch (FileNotFoundException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  } finally {
   if (os != null) {
    try {
     os.close();
    } catch (IOException e) {
     e.printStackTrace();
    }
    os = null;
   }
  }

 }
//读文件
 public void readFile() {
  FileInputStream is = null;
  StringBuilder sb = new StringBuilder();
  try {
   is = this.openFileInput("jerei.txt");
   byte[] buffer = new byte[1024];
   int len = 0;
   while ((len = is.read(buffer)) != -1) {
    String tmp = new String(buffer, 0, len);
    sb.append(tmp);
   }
  } catch (FileNotFoundException e) {

   e.printStackTrace();
  } catch (IOException e) {

   e.printStackTrace();
  } finally {
   if (is != null) {
    try {
     is.close();
    } catch (IOException e) {

     e.printStackTrace();
    }
   }
  }
  Toast.makeText(this, sb.toString(), Toast.LENGTH_LONG).show();
 }
//存进SD卡
 public void writeFilesToSDCard() {
  String filePath = null;
  if (Environment.getExternalStorageState().equals(
    Environment.MEDIA_MOUNTED)) {
   // 获取SDCard根路径
   filePath = Environment.getExternalStorageDirectory().toString();
   filePath = filePath + File.separator + "jerei" + File.separator
     + "edu";
   File fileParent = new File(filePath);
   if (!fileParent.exists()) {
    fileParent.mkdirs();
   }
   FileOutputStream os = null;
   try {
    os = new FileOutputStream(new File(fileParent, "a.txt"));
    os.write("向SDCard中写入文件!!".getBytes());
   } catch (FileNotFoundException e) {
    e.printStackTrace();
   } catch (IOException e) {
    e.printStackTrace();
   } finally {
    if (os != null) {
     try {
      os.close();
     } catch (IOException e) {
      e.printStackTrace();
     }
    }
   }
  }
 }

 //读取SD卡
 public void readFilesFromSDCard(){
  FileInputStream is=null;
  StringBuilder sb=new StringBuilder();
  try {
   is=this.openFileInput("a.txt");
   byte[] buffer = new byte[1024];
   int len = 0;
   while ((len = is.read(buffer)) != -1) {
    String tmp = new String(buffer, 0, len);
    sb.append(tmp);
   }
  } catch (FileNotFoundException e) {
   
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }finally{
   if(is!=null){
    try {
     is.close();
    } catch (IOException e) {
     e.printStackTrace();
    }
   }
  }
  Toast.makeText(this, sb.toString(), Toast.LENGTH_LONG).show();
 }

}

posted on 2014-09-13 19:35  饭饭草原  阅读(262)  评论(0编辑  收藏  举报