• Android -- 保存文件


    背景                                                                                            

    我们以常见的登录的时候有CheckBox来显示是否保存帐号密码的形式来生动的讲解这个故事。

    最后是以txt文档保存,用到的是Java的IO操作。

    这个只是粗略的,大家不喜勿喷。

    保存文件                                                                                      

    public static void savefile2card(Context context,String username,String password)
        {
            File file = null;
            FileOutputStream fos = null;
            try 
            {
            //    file = new File("/data/data/com.yuyidong.savefile/savefile.txt");
                file = new File(context.getFilesDir(),"info.txt");
                fos = new FileOutputStream(file);
                fos.write((username+"!!!!"+password).getBytes());    
            } 
            catch (Exception e) 
            {
                // TODO 自动生成的 catch 块
                e.printStackTrace();
                try 
                {
                    fos.close();
                } 
                catch (IOException e1) 
                {
                    // TODO 自动生成的 catch 块
                    e1.printStackTrace();
                }
            }
        }

    读取文件                                                                                      

    public static Map<String,String> getSaveFile(Context context)
        {
            File file =new File(context.getFilesDir(),"info.txt");        
            try 
            {
                FileInputStream fis = new FileInputStream(file);
                BufferedReader br = new BufferedReader(new InputStreamReader(fis));
                String str = br.readLine();
                String[] infos = str.split("!!!!");
                Map<String,String> map = new HashMap<String, String>();
                map.put("username",infos[0]);
                map.put("password", infos[1]);
                br.close();
                return map;
            } 
            catch (Exception e)
            {
                // TODO 自动生成的 catch 块
                e.printStackTrace();
                return null;
            }
            finally
            {    
            }    
        }

    主程序                                                                                         

    public class MainActivity extends Activity {
    
        private Button button;
        private CheckBox check;
        private EditText usernameText;
        private EditText passwordText;
        private String username;
        private String password;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            button = (Button) findViewById(R.id.button);
            check = (CheckBox) findViewById(R.id.check);
    
            usernameText = (EditText) findViewById(R.id.username);        
            passwordText = (EditText) findViewById(R.id.password);
        
            button.setOnClickListener(new buttonListener());
    
            Map<String, String> map = read.getSaveFile(this);
            usernameText.setText(map.get("username"));
            passwordText.setText(map.get("password"));
        }
        
        class buttonListener implements OnClickListener
        {
    
            @Override
            public void onClick(View v) {
                // TODO 自动生成的方法存根
                username = usernameText.getText().toString();
                password = passwordText.getText().toString();
                System.out.println(username+"~!!~"+password);
                if(check.isChecked())
                {                
                    save.savefile2card(MainActivity.this, username, password);
                }
            }
        }

                                   我是天王盖地虎的分割线                                 

    源代码:http://pan.baidu.com/s/1dD1Qx01

    saveFile.zip

    转载请注明出处:http://www.cnblogs.com/yydcdut/p/3708964.html

  • 相关阅读:
    【Java线程】Java内存模型总结
    转:【Java并发编程】之二十三:并发新特性—信号量Semaphore(含代码)
    转:【Java并发编程】之二十二:并发新特性—障碍器CyclicBarrier(含代码)
    【知识强化】第五章 输入/输出(I/O)管理 5.2 I/O核心子系统I
    【知识强化】第四章 文件管理 4.3 磁盘组织与管理
    【知识强化】第四章 文件管理 4.1+4.2 文件系统基础和实现
    【知识强化】第三章 内存管理 3.1 内存管理概念
    【知识强化】第二章 进程管理 2.4 死锁
    【知识强化】第二章 进程管理 2.3 进程同步
    LeetCode Unique Substrings in Wraparound String
  • 原文地址:https://www.cnblogs.com/yydcdut/p/3708964.html
Copyright © 2020-2023  润新知