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;
        }
    }
  • 相关阅读:
    Maven常用命令
    JUnit注解与hamcrest
    Maven发布工程到私服和JUnit的安装使用
    -Java- Maven命令
    -Java基础-构造器
    Maven命令与pom文件常量
    Maven聚合模块与继承和Maven的生命周期
    BigDecimal
    垃圾000000000000000000000写了很多,保存不上,发送失败了。。。。。A
    自己把源码生成jar,在android项目中调用
  • 原文地址:https://www.cnblogs.com/waddell/p/3394713.html
Copyright © 2011-2022 走看看