android文件操作OpenFileInput OpenFileOutput

android 中对文件的IO操作,OpenFileInput OpenFileOutput 返回对象为Java Io 的FileInputStream和FileOutputStream

我们通过一个小例子,来看下是如何使用的

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    tools:context="com.ssln.fileoperator.MainActivity" >



    <TextView

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:id="@+id/tvMsg" />



</RelativeLayout>

mainactivity.java

package com.ssln.fileoperator;



import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;



import org.apache.http.util.EncodingUtils;



import android.app.Activity;

import android.os.Bundle;

import android.widget.TextView;



public class MainActivity extends Activity {



    private String fileName = "text.txt";

    private String message = "这是通过OpenFileOupput写出,OpenFileInput读取的内容";



    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        //写出文件

        WriteFile();

        //查找控件

        TextView tvMsg=(TextView)findViewById(R.id.tvMsg);

        //读取内容

        tvMsg.setText(ReadFile());

    }



    /**

     * 读取文件

     * 

     * @return 读取到的文件内容

     */

    private String ReadFile() {

        FileInputStream inputStream;

        byte[] buffer = null;

        try {

            inputStream = this.openFileInput(fileName);

            try {

                // 获取文件内容长度

                int fileLen = inputStream.available();

                // 读取内容到buffer

                buffer = new byte[fileLen];

                inputStream.read(buffer);

            } catch (IOException e) {

                e.printStackTrace();

            }

        } catch (FileNotFoundException e) {

            e.printStackTrace();

        }

        // 返回文本信息

        if (buffer != null)

            return EncodingUtils.getString(buffer, "utf-8");

        else

            return "";



    }



    /**

     * 写出文件内容到文件

     */

    private void WriteFile() {

        try {

            // 打开文件,该文件只能由调用该方法的应用程序访问

            // MODE_PRIVATE 该文件只能由调用该方法的应用程序访问

            // MODE_APPEND 如果文件已存在,就在结尾追加内容,而不是覆盖文件

            // MODE_WORLD_READABLE 赋予所有应用程序读权限

            // MODE_WORLD_WRITEABLE 赋予所有应用程序写权限

            FileOutputStream outStream = this.openFileOutput(fileName,

                    MODE_PRIVATE);

            // 将文本转换为字节集

            byte[] data = message.getBytes();

            try {

                // 写出文件

                outStream.write(data);

                outStream.flush();

                outStream.close();

            } catch (IOException e) {

                e.printStackTrace();

            }



        } catch (FileNotFoundException e) {

            e.printStackTrace();

        }

    }



}

运行效果

android文件操作OpenFileInput OpenFileOutput

 

text.txt文件存储在了 data\data\报名\files目录下

你可能感兴趣的:(android)