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

    FileOperateByActivity.java

    package com.example.phonedemo;
    
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.PrintStream;
    import java.util.Scanner;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.Gravity;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.FrameLayout.LayoutParams;
    import android.widget.LinearLayout;
    
    public class FileOperateByActivity extends Activity {
        private LayoutParams wrap = new LayoutParams(LayoutParams.MATCH_PARENT,
                LayoutParams.WRAP_CONTENT);
        private LayoutParams match = new LayoutParams(LayoutParams.MATCH_PARENT,
                LayoutParams.MATCH_PARENT);
        
        private LinearLayout layout = null;
        private Button but = null;
        private EditText text = null;
        
        private String fileName = "waddell";
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            
            this.layout = new LinearLayout(this);
            this.layout.setOrientation(LinearLayout.VERTICAL);
            
            this.but = new Button(this);
            this.but.setText("save");
            this.but.setOnClickListener(new OnClickListener() {
                
                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
                    System.out.println("** onClick **");
                    FileOperateByActivity.this.saveFile();
                }
            });
            this.layout.addView(this.but, wrap);
            
            this.text = new EditText(this);
            this.text.setLines(10);
            this.text.setGravity(Gravity.TOP);
            this.text.setText(getFile());
            this.layout.addView(this.text, wrap);
            super.addContentView(this.layout, match);
            
        }
        
        public String getFile(){
            FileInputStream input = null;
            String str = "";
            try {
                input = super.openFileInput(fileName);
                Scanner scan = new Scanner(input);
                while(scan.hasNext()){
                    str += scan.next() + "\n";
                }
                scan.close();
                input.close();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
            }
            return str;
        }
        
        public void saveFile(){
            FileOutputStream output = null ;
            try{
                output = super.openFileOutput(fileName, MODE_PRIVATE);
                PrintStream out = new PrintStream(output);
                System.out.println("text: " + this.text.getText());
                out.println(this.text.getText());
                out.close();
                output.close();
            } catch(FileNotFoundException e){
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        
    }

    FileOperateByIO.java

    package com.example.phonedemo;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.PrintStream;
    import java.io.UnsupportedEncodingException;
    import java.util.Scanner;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.os.Environment;
    import android.view.Gravity;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.FrameLayout.LayoutParams;
    import android.widget.LinearLayout;
    import android.widget.Toast;
    
    public class FileOperateByIO extends Activity {
        private LayoutParams wrap = new LayoutParams(LayoutParams.MATCH_PARENT,
                LayoutParams.WRAP_CONTENT);
        private LayoutParams match = new LayoutParams(LayoutParams.MATCH_PARENT,
                LayoutParams.MATCH_PARENT);
    
        private LinearLayout layout = null;
        private Button but = null;
        private EditText text = null;
    
        private String fileName = "waddell.txt";
        private String dir = "phoneDemo";
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
    
            this.layout = new LinearLayout(this);
            this.layout.setOrientation(LinearLayout.VERTICAL);
    
            this.but = new Button(this);
            this.but.setText("save");
            this.but.setOnClickListener(new OnClickListener() {
    
                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
                    FileOperateByIO.this.saveFile();
                }
            });
            this.layout.addView(this.but, wrap);
    
            this.text = new EditText(this);
            this.text.setLines(10);
            this.text.setGravity(Gravity.TOP);
            this.text.setText(getFileContent());
            this.layout.addView(this.text, wrap);
            super.addContentView(this.layout, match);
        }
    
        public String getFileContent() {
            String str = "";
            try {
                Scanner scan = new Scanner(new FileInputStream(getFile()));
                while (scan.hasNext()) {
                    str += scan.next() + "\n";
                }
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
            return str;
        }
    
        public void saveFile() {
    
            PrintStream out = null;
            FileOutputStream outputStream = null;
            try {
                outputStream = new FileOutputStream(getFile(), true);
            } catch (FileNotFoundException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
            try {
                out = new PrintStream(outputStream, true, "UTF-8");
            } catch (UnsupportedEncodingException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } finally {
                if (out != null) {
                    out.close();
                }
            }
            Toast.makeText(this, "保存成功", Toast.LENGTH_LONG).show();
    
        }
    
        public File getFile() {
            File file = null;
            if (Environment.getExternalStorageState().equals(
                    Environment.MEDIA_MOUNTED)) {
                file = new File(Environment.getExternalStorageDirectory()
                        .toString()
                        + File.separator
                        + dir
                        + File.separator
                        + fileName);
                if (!file.getParentFile().exists()) {
                    file.getParentFile().mkdirs();
                }
            }
            return file;
        }
    }
  • 相关阅读:
    hdu 5101 Select
    hdu 5100 Chessboard
    cf B. I.O.U.
    cf C. Inna and Dima
    cf B. Inna and Nine
    cf C. Counting Kangaroos is Fun
    Radar Installation 贪心
    spfa模板
    Sequence
    棋盘问题
  • 原文地址:https://www.cnblogs.com/waddell/p/3394713.html
Copyright © 2011-2022 走看看