• Android -- SDcard文件读取和保存


    背景                                                                                           

    一些东西可以存在自己定义的文件里面,这个文件可以在手机中,可以在SD卡中,在这里就主要介绍一下在SD卡中的存储和读取吧~

    代码                                                                                            

    public class save {
        public static void savefile2card(Context context,String username,String password)
        {
            File file = null;
            FileOutputStream fos = null;
            try 
            {
                if(Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()))
                {
    //    file = new File("/sdcard/info.txt");
                    file = new File(Environment.getExternalStorageDirectory(),"info.txt");
                    fos = new FileOutputStream(file);
                    fos.write((username+"!!!!"+password).getBytes());    
                }
                else
                {
                    Toast.makeText(context, "SD木有", Toast.LENGTH_LONG).show();
                }
            } 
            catch (Exception e) 
            {
                // TODO 自动生成的 catch 块
                e.printStackTrace();
                Toast.makeText(context, "Wrong", Toast.LENGTH_LONG).show();
                try 
                {
                    fos.close();
                } 
                catch (IOException e1) 
                {
                    // TODO 自动生成的 catch 块
                    e1.printStackTrace();
                }
            }
        }
    }

    上面是存的代码,这里面用到了Environment.MEDIA_MOUNTED,查看是否挂载。

    public class read {
        public static Map<String,String> getSaveFile(Context context)
        {
            //File file =new File(context.getFilesDir(),"info.txt");
            File file = new File(Environment.getExternalStorageDirectory(),"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
            {
                
            }
            
        }
    }

    上面是读取的代码,会存就会读了,存得进去那么就读得出来撒~

    我是天王盖地虎的分割线                                                                

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

    SDcard.zip

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

  • 相关阅读:
    hiho #1502:最大子矩阵(元素和不超过k)
    IPC 进程间通信方式——消息队列
    IPC 进程间通信方式——共享内存
    IPC 进程间通信方式——管道
    hiho #1032: 最长回文子串
    TCP超时与重传机制与拥塞避免
    C++关于构造函数 和 析构函数 能否抛出异常的讨论
    基于TCP的客户端、服务器端socket编程
    hiho #1043 : 完全背包
    hiho #1485 : hiho字符串(滑动窗口)
  • 原文地址:https://www.cnblogs.com/yydcdut/p/3720648.html
Copyright © 2020-2023  润新知