Android 创建txt文件存到SD卡,向txt文件写入内容,读出txt文件内容

源码下载

https://download.csdn.net/download/qq_31939617/10519109 下载

先上图
这里写图片描述

这里写图片描述

MainActivity.class

package com.example.sz.txtdemo;

import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;

public class MainActivity extends AppCompatActivity {
    private static final String TAG = "MainActivity";
    private EditText mInput;
    private Button mWrite, mRead;
    private TextView tv1, tv2;
    private String a, b, c, d;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        initView();
        writeTxt();


    }

    public void initView() {
        mInput = findViewById(R.id.ed_input);
        mWrite = findViewById(R.id.btn_write);
        mRead = findViewById(R.id.btn_read);
        tv1 = findViewById(R.id.tv_tv1);
        tv2 = findViewById(R.id.tv_tv2);

        mRead.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //读取文件
                readTxt();
            }
        });

    }

    public void writeTxt() {
        //新建文件夹
        String folderName = "User";
        File sdCardDir = new File(Environment.getExternalStoragePublicDirectory(
                Environment.DIRECTORY_DOWNLOADS), folderName);

        if (!sdCardDir.exists()) {
            if (!sdCardDir.mkdirs()) {

                try {
                    sdCardDir.createNewFile();

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


        try {
            //新建文件
            File saveFile = new File(sdCardDir, "user.txt");

            if (!saveFile.exists()) {
                saveFile.createNewFile();
            }
           // FileOutputStream outStream =null;
           //outStream = new FileOutputStream(saveFile);

            final FileOutputStream outStream = new FileOutputStream(saveFile);


            mWrite.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    String str = mInput.getText().toString().trim();
                    try {
                        outStream.write(str.getBytes());
                        outStream.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                        Log.e(TAG, "onClick: --------------" + e.toString());
                    }

                    Toast.makeText(MainActivity.this, "写入成功", Toast.LENGTH_SHORT).show();
                    tv1.setText(str);

                }
            });
             //outStream.write("测试写入文件".getBytes());
             //outStream.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void readTxt() {

        BufferedReader bre = null;
        String str = null;
        try {
            String file = Environment.getExternalStoragePublicDirectory(
                    Environment.DIRECTORY_DOWNLOADS) + "/User/user.txt";
            bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
            while ((str = bre.readLine()) != null) { // 判断最后一行不存在,为空结束循环

                Log.e(TAG, "readTxt: a------------" + str);


                String[] arr = str.split("\\s+");
                for (String ss : arr) {
                    a = arr[0];
                }
                tv2.setText(str);
            }

        } catch (Exception e) {
            Log.e(TAG, "readTxt: ---------------" + e.toString());

        }

    }


}

activity_main.xml

<?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:gravity="center"
    android:orientation="vertical"
    tools:context=".MainActivity">


    <EditText
        android:id="@+id/ed_input"
        android:layout_width="100dp"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/btn_write"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:text="写入文件"/>

    <TextView
        android:id="@+id/tv_tv1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:text="Hello World!" />

    <Button
        android:id="@+id/btn_read"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:text="读取文件"/>



    <TextView
        android:id="@+id/tv_tv2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:text="Hello World!" />


</LinearLayout>

源码下载

https://download.csdn.net/download/qq_31939617/10519109 下载

猜你喜欢

转载自blog.csdn.net/qq_31939617/article/details/80911397