文件存储

Posted makerr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件存储相关的知识,希望对你有一定的参考价值。

1、用SharedPreferences 向文件里写入内容

SharedPreferences sp=getSharesPreferences("文件名",模式); //创建并打开文件

SharedPreferences.Editor editor=sp.edit();                                       //获取编辑器,读取不需要

editor.putString("变量名",变量值);                                                          //put的数据类型,如果读取文件内容用get

editor.commit();                                       //保存文件并关闭  

代码示例:

public class MainActivity extends AppCompatActivity {
    EditText et_tel=null;
    SharedPreferences sp;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        et_tel=(EditText)findViewById(R.id.et_tel);
        sp=getSharedPreferences("config",MODE_PRIVATE);
    }
    public void intercept(View view){
        String number=et_tel.getText().toString().trim();
        SharedPreferences.Editor editor=sp.edit();
        editor.putString("number",number);
        editor.commit();
        Toast.makeText(this,"保存成功",Toast.LENGTH_SHORT).show();
    }
}

2、保存QQ密码

 1 public class MainActivity extends AppCompatActivity {
 2 
 3     EditText et1=null;
 4     EditText et2=null;
 5     String sName=null;
 6     String sPassword=null;
 7     @Override
 8     protected void onCreate(Bundle savedInstanceState) {
 9         super.onCreate(savedInstanceState);
10         setContentView(R.layout.activity_main);
11         et1=(EditText) findViewById(R.id.et_name);
12         et2=(EditText) findViewById(R.id.et_password);
13 //        getUserInfo(this);//文件获取QQ账号和密码
14         spGetUserInfo(this);//sharedPreferences获取QQ账号和密码
15         if(sName!=null){
16             et1.setText(sName);
17             et2.setText(sPassword);
18         }
19     }
20     //读取QQ账号和登录密码
21     public void getUserInfo(Context conRead) {
22         String str=null;
23         FileInputStream fis=null;
24         try {
25             fis = conRead.openFileInput("data.txt");
26             byte[] b=new byte[fis.available()];
27             fis.read(b);
28             str=new String(b);
29             String[] infos=str.split(":");
30             sName=infos[0];
31             sPassword=infos[1];
32         } catch (Exception e) {
33             e.printStackTrace();
34         }finally {
35             try{
36                 fis.close();
37             } catch (Exception e) {
38                 e.printStackTrace();
39             }
40         }
41     }
42 
43     //文件保存QQ账号和登录密码
44     public static boolean saveUserInfo(Context c,String name,String password){
45         FileOutputStream fos=null;
46         try{
47             fos=c.openFileOutput("data.txt",Context.MODE_PRIVATE);
48             fos.write((name+":"+password).getBytes());
49             return true;
50         } catch (Exception e) {
51             e.printStackTrace();
52             return false ;
53         }finally{
54             try {
55                 fos.close();
56             }catch (Exception e){
57                 e.printStackTrace();
58             }//end of catch
59         }//end of finally
60     }//end of saveUserInfo
61 
62     //SharedPreferences保存QQ账号和登录密码
63     public static boolean spSaveUserInfo(Context c,String name,String password){
64         SharedPreferences sp=c.getSharedPreferences("data",Context.MODE_PRIVATE);
65         SharedPreferences.Editor edit=sp.edit();
66         edit.putString("userName",name);
67         edit.putString("password",password);
68         edit.commit();
69         return true;
70     }
71 
72     //SharedPreferences读取QQ账号和登录密码
73     public void spGetUserInfo(Context conRead) {
74         SharedPreferences sp=conRead.getSharedPreferences("data",Context.MODE_PRIVATE);
75         String name=sp.getString("userName",null);
76         String password=sp.getString("password",null);
77         sName=name;
78         sPassword=password;
79     }
80     public void btnClick(View v){
81         String name=et1.getText().toString().trim();
82         String password=et2.getText().toString().trim();
83         if(TextUtils.isEmpty(name)){
84             Toast.makeText(this,"请输入QQ账号",Toast.LENGTH_SHORT).show();
85             return;
86         }
87         if(TextUtils.isEmpty(password)){
88             Toast.makeText(this,"请输入密码",Toast.LENGTH_SHORT).show();
89         }
90         Toast.makeText(this,"登录成功",Toast.LENGTH_SHORT).show();
91 //        boolean isSaveSuccess=saveUserInfo(this,name,password);
92         boolean isSaveSuccess=spSaveUserInfo(this,name,password);
93         if(isSaveSuccess){
94             Toast.makeText(this,"保存成功",Toast.LENGTH_SHORT).show();
95         }else{
96             Toast.makeText(this,"保存失败",Toast.LENGTH_SHORT).show();
97         }
98     }
99 }

 

以上是关于文件存储的主要内容,如果未能解决你的问题,请参考以下文章

sql 这些代码片段将演示如何逐步使用PolyBase。你应该有一个blob存储和存储秘密方便

将存储在内存中的文件上传到s3

Prometheus配置文件

从 google-site 上的嵌入式(iframe)片段,引用存储在 google 驱动器上的 json 文件

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段2——.vue文件的模板