zoukankan      html  css  js  c++  java
  • android 文件存储

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

    package net.bwie.localdata.activity;
    
    import android.content.Context;
    import android.content.Intent;
    import android.os.Bundle;
    import android.os.Environment;
    import android.support.v7.app.AppCompatActivity;
    import android.util.Log;
    import android.view.View;
    import android.widget.Button;
    import android.widget.TextView;
    import android.widget.Toast;
    
    import net.bwie.localdata.R;
    
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    
    public class FileActivity extends AppCompatActivity implements View.OnClickListener {
    
        protected Button mReadFileBtn;
        protected Button mWriteFileBtn;
        protected TextView mResultTv;
    
        public static void startActivity(Context context) {
            context.startActivity(new Intent(context, FileActivity.class));
        }
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            super.setContentView(R.layout.activity_file);
            initView();
        }
    
        @Override
        public void onClick(View view) {
            if (view.getId() == R.id.read_file_btn) {
                String result = readFile();
                mResultTv.setText(result);
    
            } else if (view.getId() == R.id.write_file_btn) {
                writeFile();
            }
        }
    
        // 读取文件
        private String readFile() {
            String filePath = Environment.getExternalStorageDirectory().getPath() + "/abc/";
            String fileName = "xyz.txt";
    
            File file = new File(filePath, fileName);
    
            BufferedReader br = null;
            try {
                br = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
    
                String result = "";
                String line = "";
    
                while ((line = br.readLine()) != null) {
                    result += line;
                }
                return result;
    
    
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                if (br != null) {
                    try {
                        br.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
            return null;
        }
    
        // 写入文件
        private void writeFile() {
    
            // 外部存储私有路径:Android文件夹
    //        String privatePath = getExternalFilesDir(null).getPath();// 私有路径不分类为null
    //        String filePath = privatePath + "/abc/";
    
            // 外部存储公共路径:DICM,DOWNLOAD,MUSIC等系统提供的文件夹
    //        String publicPath = Environment
    //                .getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
    //                .getPath();
    //        String filePath = publicPath + "/abc/";
    
            // 自定义文件路径
            String rootPath = Environment.getExternalStorageDirectory().getPath();// 外部存储路径(根目录)
            String filePath = rootPath + "/abc/";
    
            String fileName = "xyz.txt";
    
            File file = new File(filePath, fileName);
    
            FileOutputStream fos = null;
            try {
                fos = new FileOutputStream(file);
                fos.write("asdasdas".getBytes());
                Toast.makeText(this, "成功", Toast.LENGTH_SHORT).show();
            } catch (Exception e) {
                e.printStackTrace();
                Log.d("1507", "error: " + e.getMessage());
            } finally {
                if (fos != null) {
                    try {
                        fos.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
    
        }
    
        private void initView() {
            mReadFileBtn = (Button) findViewById(R.id.read_file_btn);
            mReadFileBtn.setOnClickListener(FileActivity.this);
            mWriteFileBtn = (Button) findViewById(R.id.write_file_btn);
            mWriteFileBtn.setOnClickListener(FileActivity.this);
            mResultTv = (TextView) findViewById(R.id.result_tv);
        }
    }
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context="net.bwie.localdata.activity.FileActivity">
    
        <Button
            android:id="@+id/read_file_btn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="读取文件"/>
    
        <Button
            android:id="@+id/write_file_btn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="写入文件"/>
    
        <TextView
            android:id="@+id/result_tv"
            android:text="结果"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
    
    </LinearLayout>
    

      

  • 相关阅读:
    iOS遍历程序内某个文件夹下所有文件的属性
    CATransition 转场动画
    Xcode安装的推送证书所在目录
    UIMenuController 实现长按显示自定义菜单功能
    ios调用第三方程序打开文件,以及第三方调用自己的APP打开文件
    购物车界面,不同section,点击增减物品,确定取消选中的逻辑判断
    iOS UINavigationController
    iOS9 URL Schme 白名单
    iOS9 HTTPS
    iOS9 后台定位
  • 原文地址:https://www.cnblogs.com/yudada/p/7881291.html
Copyright © 2011-2022 走看看