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

    在android中当然也可以通过读写文件来保存数据,以下例子中的文件存放的位置在\data\data\PROJ_NAME\files\  下面

    MODE_PRIVATE是默认的属性,表示只有当前的app可以使用,当然还有其他的属性可以查看手册

    如果只有MODE_PRIVATE的话,如果文件已经存在,那写入的新数据会把原有的数据覆盖掉。

    如果想在原有的文件后面追加数据,那应该用MODE_PRIVATE|MODE_APPEND属性。

    package MySharePerferences.code;

    import java.io.FileInputStream;
    import java.io.FileOutputStream;

    import org.apache.http.util.EncodingUtils;

    import android.app.Activity;
    import android.content.SharedPreferences;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.Toast;

    public class MainActivity extends Activity {
        /** Called when the activity is first created. */
        
        private Button button;
        private Button button1;
        
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
                    
            
            button = (Button)findViewById(R.id.btn);
            button1 = (Button)findViewById(R.id.btn1);
            
            button1.setOnClickListener( new Button.OnClickListener()
            {
                @Override
                public void onClick(View v )
                {
                    try
                    {                    
                        FileInputStream fin = openFileInput("test.txt");
                        int len = fin.available();
                        String str;
                        byte[] buff = new byte[len];
                        fin.read(buff);
                        str = EncodingUtils.getString(buff,"UTF-8");
                        fin.close();
                        
                        Toast.makeText(MainActivity.this,str,Toast.LENGTH_LONG).show();
                    }
                    catch(Exception e )
                    {
                        
                    }
                    
                }
            }
            );
            
            
            button.setOnClickListener( new Button.OnClickListener()
            {
                @Override
                public void onClick(View v )
                {                
                    try
                    {
                        String str = "so what?";
                        FileOutputStream fout = openFileOutput("test.txt",MODE_PRIVATE);
                        byte[] bytes = str.getBytes();
                        fout.write(bytes);
                        fout.close();
                    }
                    catch(Exception e )
                    {
                        e.printStackTrace();
                    }
                }
            }
            );
            
        }
    }

  • 相关阅读:
    一次脑残的记录: Linux 中实时任务调度与优先级
    这 7 个 Linux 命令,你是怎么来使用的?
    物联网设备OTA软件升级之:完全升级和增量升级
    物联网设备OTA软件升级之:升级包下载过程之旅
    Linux应用程序设计:用一种讨巧方式,来获取线程栈的使用信息
    Linux系统中编译、链接的基石-ELF文件:扒开它的层层外衣,从字节码的粒度来探索
    应用程序设计:在动态库中如何调用外部函数?
    Typescript学习笔记
    gRPC 重试策略
    Gogs+Jenkins+Docker 自动化部署.NetCore
  • 原文地址:https://www.cnblogs.com/rollrock/p/2384296.html
Copyright © 2011-2022 走看看