Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> android 數據文件存取至儲存卡,android存取

android 數據文件存取至儲存卡,android存取

編輯:關於android開發

android 數據文件存取至儲存卡,android存取


來自:http://blog.csdn.net/jianghuiquan/article/details/8569233

<?xml version="1.0" encoding="utf-8"?>
<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/save"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="保存數據(File)" />

    <Button
        android:id="@+id/read"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="讀取數據(File)" />

</LinearLayout>  
package com.example.yanlei.wifi;

import android.os.Bundle;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.util.Scanner;

public class MainActivity extends AppCompatActivity {

    private Button btnSave=null;
    private Button btnRead=null;
    private File file=null;

    private static final String FILENAME="data.txt";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btnSave=(Button)super.findViewById(R.id.save);
        btnRead=(Button)super.findViewById(R.id.read);

        btnSave.setOnClickListener(new OnClickListener(){
            public void onClick(View v)
            {

                PrintStream ps=null;

                //判斷外部存儲卡是否存在
                if(!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
                    Toast.makeText(getApplicationContext(), "讀取失敗,SD存儲卡不存在!", Toast.LENGTH_LONG).show();
                    return;
                }

                //初始化File
                String path=Environment.getExternalStorageDirectory().toString()
                        +File.separator
                        +"genwoxue"
                        +File.separator
                        +FILENAME;
                file=new File(path);

                //如果當前文件的父文件夾不存在,則創建genwoxue文件夾
                if(!file.getParentFile().exists())
                    file.getParentFile().mkdirs();

                //寫文件
                try {
                    ps = new PrintStream(new FileOutputStream(file));
                    ps.println("跟我學網址:www.genwoxue.com");
                    ps.println("");
                    ps.println("電子郵件:[email protected]");
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                }finally{
                    ps.close();

                }
                Toast.makeText(getApplicationContext(), "保存成功!", Toast.LENGTH_LONG).show();
            }
        });

        btnRead.setOnClickListener(new OnClickListener(){
            public void onClick(View v)
            {
                StringBuffer info=new StringBuffer();

                //判斷外部存儲卡是否存在
                if(!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
                    Toast.makeText(getApplicationContext(), "讀取失敗,SD存儲卡不存在!", Toast.LENGTH_LONG).show();
                    return;
                }

                //初始化File
                String path=Environment.getExternalStorageDirectory().toString()
                        +File.separator
                        +"genwoxue"
                        +File.separator
                        +FILENAME;
                file=new File(path);

                if(!file.exists()){
                    Toast.makeText(getApplicationContext(), "文件不存在!", Toast.LENGTH_LONG).show();
                    return;
                }

                //讀取文件內容
                Scanner scan=null;
                try {
                    scan=new Scanner(new FileInputStream(file));
                    while(scan.hasNext()){
                        info.append(scan.next()).append("☆☆☆\n");
                    }
                    Toast.makeText(getApplicationContext(), info.toString(), Toast.LENGTH_LONG).show();
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                }finally{
                    scan.close();
                }
            }
        });
    }
}

權限

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.yanlei.wifi" >
    <!-- 在SDCard中創建與刪除文件權限 -->

    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>

    <!-- 往SDCard寫入數據權限 -->


    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved