乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Android數(shù)據(jù)存儲(chǔ)(2)向機(jī)身內(nèi)存(Internal Storage)和SDcard(External Storage)讀寫數(shù)據(jù)實(shí)例

       天海544 2014-01-10

      總的來說向內(nèi)存和SDcard中讀寫數(shù)據(jù)和java io操作基本差不多    而機(jī)身內(nèi)存讀取和SDcard讀取數(shù)據(jù)有少許差別

      機(jī)身內(nèi)存數(shù)據(jù)讀寫

       1.機(jī)身內(nèi)存讀取主要用個(gè)兩個(gè)類文件輸入流(FileInputStream)和文件輸出流(FileOutputStream): FileInputStream fileInput = this.openFileInput("test.txt") 第一個(gè)參數(shù)為 data/此程序包名/data/test.txt 文件下 的文件名 ;

      FileOutputStream fileOut = this.openFileOutput("test.txt",this.MODE_APPEND)第一個(gè)參數(shù)表示文件名 第二個(gè)參數(shù)表示打開的方式  

      2.獲取了文件輸入輸出流之后 其后的文件的讀寫和基本的IO操作一樣

      SDcard數(shù)據(jù)讀寫

       1.SDcard數(shù)據(jù)讀寫需要注定的先要在Androidmainfest.xml文件中注冊(cè)新建刪除和讀寫的權(quán)限 :  

             <!-- 在SD卡上創(chuàng)建與刪除權(quán)限 -->
             <uses-permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS" />
            <!-- 向SD卡上寫入權(quán)限 -->
             <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

       2.讀寫的基本流程就是: 

         2. 1  通過Environment類的getExternalStorageState()方法來判斷手機(jī)是否有SDcard:  Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)

         2.2  最通過getExternalStorageDirectory()方法來獲取文件目錄:File file = new File(Environment.getExternalStorageDirectory().getCanonicalPath() + "/test.txt"); 讀寫的文件都在sdcrad文件夾中 通過File Explorer可以導(dǎo)出來

         2.3 其后就和基本IO操作相同了

        2.4還有要注意一點(diǎn)的是 在運(yùn)行的模擬器的時(shí)候要附帶虛擬的SDcard時(shí)  要在Run as->Run Configurations 中要關(guān)聯(lián)一下 如下圖


      機(jī)身內(nèi)存數(shù)據(jù)讀寫實(shí)例

      1. <LinearLayout xmlns:android="http://schemas./apk/res/android"  
      2.     xmlns:tools="http://schemas./tools"  
      3.     android:layout_width="match_parent"  
      4.     android:layout_height="match_parent"  
      5.     android:layout_gravity="center_horizontal"  
      6.     android:orientation="vertical"  
      7.     tools:context=".MainActivity" >  
      8.     <EditText   
      9.         android:layout_width="match_parent"  
      10.         android:layout_height="wrap_content"  
      11.         android:id="@+id/ed1"  
      12.         android:inputType="textMultiLine"/>  
      13.     <Button   
      14.         android:id="@+id/write"  
      15.         android:text="寫入"  
      16.         android:layout_width="match_parent"  
      17.         android:layout_height="wrap_content"/>  
      18.     <Button   
      19.         android:id="@+id/read"  
      20.         android:layout_width="match_parent"  
      21.         android:layout_height="wrap_content"  
      22.         android:text="讀入"/>  
      23.     <EditText   
      24.         android:id="@+id/ed2"  
      25.         android:layout_width="match_parent"  
      26.         android:layout_height="wrap_content"  
      27.         android:inputType="textMultiLine"/>  
      28.     <Button   
      29.         android:id="@+id/delete"  
      30.         android:layout_width="match_parent"  
      31.         android:layout_height="wrap_content"  
      32.         android:text="刪除指定的文件"  
      33.         />  
      34.     <EditText   
      35.         android:id="@+id/ed3"  
      36.         android:layout_width="match_parent"  
      37.         android:layout_height="wrap_content"  
      38.         />  
      39.   
      40. </LinearLayout>  


      1. package com.android.xiong.fileiotest;  
      2.   
      3. import java.io.BufferedReader;  
      4. import java.io.File;  
      5. import java.io.FileInputStream;  
      6. import java.io.FileOutputStream;  
      7. import java.io.InputStreamReader;  
      8. import java.lang.reflect.Array;  
      9. import java.util.ArrayList;  
      10. import java.util.Arrays;  
      11. import java.util.List;  
      12.   
      13. import android.app.Activity;  
      14. import android.os.Bundle;  
      15. import android.view.Menu;  
      16. import android.view.View;  
      17. import android.view.View.OnClickListener;  
      18. import android.widget.Button;  
      19. import android.widget.EditText;  
      20.   
      21. public class MainActivity extends Activity {  
      22.   
      23.     private Button read;  
      24.     private Button write;  
      25.     private EditText ed1;  
      26.     private EditText ed2;  
      27.     private EditText ed3;  
      28.     private Button delete;  
      29.   
      30.     @Override  
      31.     protected void onCreate(Bundle savedInstanceState) {  
      32.         super.onCreate(savedInstanceState);  
      33.         setContentView(R.layout.activity_main);  
      34.         read = (Button) findViewById(R.id.read);  
      35.         write = (Button) findViewById(R.id.write);  
      36.         delete = (Button) findViewById(R.id.delete);  
      37.         ed3 = (EditText) findViewById(R.id.ed3);  
      38.         ed2 = (EditText) findViewById(R.id.ed2);  
      39.         ed1 = (EditText) findViewById(R.id.ed1);  
      40.         write.setOnClickListener(new OnClickListener() {  
      41.             @Override  
      42.             public void onClick(View v) {  
      43.                 String str = ed1.getText().toString();  
      44.                 if (!str.equals("")) {  
      45.                     write(str);  
      46.                 }  
      47.   
      48.             }  
      49.         });  
      50.         read.setOnClickListener(new OnClickListener() {  
      51.   
      52.             @Override  
      53.             public void onClick(View v) {  
      54.                 read();  
      55.   
      56.             }  
      57.         });  
      58.         delete.setOnClickListener(new OnClickListener() {  
      59.             @Override  
      60.             public void onClick(View v) {  
      61.                 String str = ed3.getText().toString();  
      62.                 if (!str.equals("")) {  
      63.                     deleteFiles(str);  
      64.                 } else {  
      65.                     ed3.setText(str + ":該文件輸入錯(cuò)誤或不存在!");  
      66.                 }  
      67.   
      68.             }  
      69.         });  
      70.   
      71.     }  
      72.   
      73.     private void write(String content) {  
      74.         try {  
      75.             // 以追加的方式打開文件輸出流  
      76.             FileOutputStream fileOut = this.openFileOutput("test.txt",  
      77.                     this.MODE_APPEND);  
      78.             // 寫入數(shù)據(jù)  
      79.             fileOut.write(content.getBytes());  
      80.             // 關(guān)閉文件輸出流  
      81.             fileOut.close();  
      82.   
      83.         } catch (Exception e) {  
      84.             e.printStackTrace();  
      85.         }  
      86.     }  
      87.   
      88.     private void read() {  
      89.         try {  
      90.             ed2.setText("");  
      91.             // 打開文件輸入流  
      92.             FileInputStream fileInput = this.openFileInput("test.txt");  
      93.             BufferedReader br = new BufferedReader(new InputStreamReader(  
      94.                     fileInput));  
      95.             String str = null;  
      96.             StringBuilder stb = new StringBuilder();  
      97.             while ((str = br.readLine()) !=null ) {  
      98.                 stb.append(str);  
      99.             }  
      100.             ed2.setText(stb);  
      101.         } catch (Exception e) {  
      102.             e.printStackTrace();  
      103.         }  
      104.   
      105.     }  
      106.       
      107.     //刪除指定的文件  
      108.     private void deleteFiles(String fileName) {  
      109.         try {  
      110.             // 獲取data文件中的所有文件列表  
      111.             List<String> name = Arrays.asList(this.fileList());  
      112.             if (name.contains(fileName)) {  
      113.                 this.deleteFile(fileName);  
      114.                 ed3.setText(fileName + ":該文件成功刪除!");  
      115.             } else  
      116.                 ed3.setText(fileName + ":該文件輸入錯(cuò)誤或不存在!");  
      117.   
      118.         } catch (Exception e) {  
      119.             e.printStackTrace();  
      120.         }  
      121.     }  
      122.   
      123.     @Override  
      124.     public boolean onCreateOptionsMenu(Menu menu) {  
      125.         getMenuInflater().inflate(R.menu.main, menu);  
      126.         return true;  
      127.     }  
      128.   
      129. }  

      SDcard數(shù)據(jù)讀寫實(shí)例

      1. <LinearLayout xmlns:android="http://schemas./apk/res/android"  
      2.     xmlns:tools="http://schemas./tools"  
      3.     android:layout_width="match_parent"  
      4.     android:layout_height="match_parent"  
      5.     android:gravity="center_horizontal"  
      6.     android:orientation="vertical"  
      7.     tools:context=".MainActivity" >  
      8.     <EditText   
      9.         android:id="@+id/ed1"  
      10.         android:layout_width="match_parent"  
      11.         android:layout_height="wrap_content"  
      12.         android:inputType="textMultiLine"/>  
      13.     <Button   
      14.         android:id="@+id/write"  
      15.         android:layout_width="match_parent"  
      16.         android:layout_height="wrap_content"  
      17.         android:text="寫入SD卡中"/>  
      18.     <Button   
      19.         android:id="@+id/read"  
      20.         android:layout_width="match_parent"  
      21.         android:layout_height="wrap_content"  
      22.         android:text="讀取SD文件"/>  
      23.     <TextView   
      24.         android:id="@+id/txt1"  
      25.         android:layout_width="match_parent"  
      26.         android:layout_height="wrap_content"/>  
      27. </LinearLayout>  


      1. <?xml version="1.0" encoding="utf-8"?>  
      2. <manifest xmlns:android="http://schemas./apk/res/android"  
      3.     package="com.android.xiong.sdcardtest"  
      4.     android:versionCode="1"  
      5.     android:versionName="1.0" >  
      6.   
      7.     <uses-sdk  
      8.         android:minSdkVersion="14"  
      9.         android:targetSdkVersion="17" />  
      10.     <!-- 在SD卡上創(chuàng)建與刪除權(quán)限 -->  
      11.     <uses-permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS" />  
      12.     <!-- 向SD卡上寫入權(quán)限 -->  
      13.     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />  
      14.   
      15.     <application  
      16.         android:allowBackup="true"  
      17.         android:icon="@drawable/ic_launcher"  
      18.         android:label="@string/app_name"  
      19.         android:theme="@style/AppTheme" >  
      20.         <activity  
      21.             android:name="com.android.xiong.sdcardtest.MainActivity"  
      22.             android:label="@string/app_name" >  
      23.             <intent-filter>  
      24.                 <action android:name="android.intent.action.MAIN" />  
      25.   
      26.                 <category android:name="android.intent.category.LAUNCHER" />  
      27.             </intent-filter>  
      28.         </activity>  
      29.     </application>  
      30.   
      31. </manifest>  
      1. package com.android.xiong.sdcardtest;  
      2.   
      3. import java.io.BufferedReader;  
      4. import java.io.File;  
      5. import java.io.FileInputStream;  
      6. import java.io.FileOutputStream;  
      7. import java.io.InputStreamReader;  
      8.   
      9. import android.app.Activity;  
      10. import android.os.Bundle;  
      11. import android.os.Environment;  
      12. import android.view.Menu;  
      13. import android.view.View;  
      14. import android.view.View.OnClickListener;  
      15. import android.widget.Button;  
      16. import android.widget.EditText;  
      17. import android.widget.TextView;  
      18.   
      19. public class MainActivity extends Activity {  
      20.   
      21.     private Button write;  
      22.     private Button read;  
      23.   
      24.     private EditText ed1;  
      25.     private TextView txt1;  
      26.   
      27.     @Override  
      28.     protected void onCreate(Bundle savedInstanceState) {  
      29.         super.onCreate(savedInstanceState);  
      30.         setContentView(R.layout.activity_main);  
      31.         write = (Button) findViewById(R.id.write);  
      32.         read = (Button) findViewById(R.id.read);  
      33.         ed1 = (EditText) findViewById(R.id.ed1);  
      34.         txt1 = (TextView) findViewById(R.id.txt1);  
      35.         write.setOnClickListener(new OnClickListener() {  
      36.   
      37.             @Override  
      38.             public void onClick(View v) {  
      39.                 // TODO Auto-generated method stub  
      40.                 writeSDcard(ed1.getText().toString());  
      41.   
      42.             }  
      43.         });  
      44.         read.setOnClickListener(new OnClickListener() {  
      45.   
      46.             @Override  
      47.             public void onClick(View v) {  
      48.                 // TODO Auto-generated method stub  
      49.   
      50.                 txt1.setText(readSDcard());  
      51.             }  
      52.         });  
      53.     }  
      54.   
      55.     // 把數(shù)據(jù)寫入SD卡  
      56.   
      57.     private void writeSDcard(String str) {  
      58.   
      59.         try {  
      60.             // 判斷是否存在SD卡  
      61.             if (Environment.getExternalStorageState().equals(  
      62.                     Environment.MEDIA_MOUNTED)) {  
      63.                 // 獲取SD卡的目錄  
      64.                 File file = Environment.getExternalStorageDirectory();  
      65.                 FileOutputStream fileW = new FileOutputStream(file.getCanonicalPath() + "/test.txt");  
      66.                 fileW.write(str.getBytes());  
      67.                 fileW.close();  
      68.             }  
      69.         } catch (Exception e) {  
      70.             e.printStackTrace();  
      71.         }  
      72.   
      73.     }  
      74.   
      75.     // 從SD卡中讀取數(shù)據(jù)  
      76.     private String readSDcard() {  
      77.         StringBuffer str = new StringBuffer();  
      78.         try {  
      79.             // 判斷是否存在SD  
      80.             if (Environment.getExternalStorageState().equals(  
      81.                     Environment.MEDIA_MOUNTED)) {  
      82.                 File file = new File(Environment.getExternalStorageDirectory()  
      83.                         .getCanonicalPath() + "/test.txt");                                                                  
      84.                 // 判斷是否存在該文件  
      85.                 if (file.exists()) {  
      86.                     // 打開文件輸入流  
      87.                     FileInputStream fileR = new FileInputStream(file);  
      88.                     BufferedReader reads = new BufferedReader(  
      89.                             new InputStreamReader(fileR));  
      90.                     String st = null;  
      91.                     while ((st =reads.readLine())!=null ) {  
      92.                         str.append(st);  
      93.                     }  
      94.                     fileR.close();  
      95.                 } else {  
      96.                     txt1.setText("該目錄下文件不存在");  
      97.                 }  
      98.             }  
      99.   
      100.         } catch (Exception e) {  
      101.             e.printStackTrace();  
      102.         }  
      103.         return str.toString();  
      104.     }  
      105.   
      106.     @Override  
      107.     public boolean onCreateOptionsMenu(Menu menu) {  
      108.         // Inflate the menu; this adds items to the action bar if it is present.  
      109.         getMenuInflater().inflate(R.menu.main, menu);  
      110.         return true;  
      111.     }  
      112.   
      113. }  



        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多