Android重温--文件存储
2016-12-17 19:12
253 查看
今天回忆一下Android五种存储方式之”文件存储“。上次的博客中我们回忆了-SharedPreferencesd的存储和读取。因为其是一种轻量级的存储方式,只能存储基本数据类型,无法存储图片等数据。所以我们回想一下“文件存储”,看看它可以实现哪些功能!
一、文件操作
1.注意
(1)如同Linux一样通过路径方式指定文件。
(2)Stream方式访问文件方法仍然适用。
(3)注意文件的访问权限。
2.文件存储和SharedPreferences存储的区别
(1)文件存储,存储的是复杂数据,SharedPreferences只能存储基本数据类型。
(2)文件存储分为内部空间和外部存储空间存储
3.文件存储-使用内部空间存储
(1)使用Internal Storage存储
(2)内部访问权限是私有的
(3)应用卸载后,数据删除。
4.内部存储的使用场景
(1)存储私有的data
(2)存储较小的数据–内部空间有限
(3)保存必须的data–重要数据
5.使用内部存储的基本代码语法和方法调用
(1)写文件–获取outputstream—-
/*contenxt.openFileOutput(String name,int mode);
第一个参数是文件的名字,第二个参数是文件的访问权限
/*返回的实例为FileOutputStream的操作实例
(2)读文件–获取InputStream
/*Context.openFileInput(String name)
参数为存储的文件名称
/*返回的实例为FileInPutStream实例
6.特点
(1)name是文件名,实际的路径位置为/data/data/<–packagename–>/file/<–name–>
(2)如同Java的操作文件方法一样进行读写,注意需要捕获异常,数据读取猴和写入后记得要close()掉!!!!
7.代码的实现demo
XML的布局实现大家就自己实现吧,实现的截图如下:
当输入数据点击保存数据的后进行保存,点击下载数据后数据进行下载:截图如下:
保存下载数据
今天的实现代码有点简单基本就是这个意思,大家要了解文件存储的原理和基本操作语法,但是大家一定要记得当进行数据的写和读的操作结束后关闭该操作流。
一、文件操作
1.注意
(1)如同Linux一样通过路径方式指定文件。
(2)Stream方式访问文件方法仍然适用。
(3)注意文件的访问权限。
2.文件存储和SharedPreferences存储的区别
(1)文件存储,存储的是复杂数据,SharedPreferences只能存储基本数据类型。
(2)文件存储分为内部空间和外部存储空间存储
3.文件存储-使用内部空间存储
(1)使用Internal Storage存储
(2)内部访问权限是私有的
(3)应用卸载后,数据删除。
4.内部存储的使用场景
(1)存储私有的data
(2)存储较小的数据–内部空间有限
(3)保存必须的data–重要数据
5.使用内部存储的基本代码语法和方法调用
(1)写文件–获取outputstream—-
/*contenxt.openFileOutput(String name,int mode);
第一个参数是文件的名字,第二个参数是文件的访问权限
/*返回的实例为FileOutputStream的操作实例
(2)读文件–获取InputStream
/*Context.openFileInput(String name)
参数为存储的文件名称
/*返回的实例为FileInPutStream实例
6.特点
(1)name是文件名,实际的路径位置为/data/data/<–packagename–>/file/<–name–>
(2)如同Java的操作文件方法一样进行读写,注意需要捕获异常,数据读取猴和写入后记得要close()掉!!!!
7.代码的实现demo
package com.zes.base.mydalytext.activity; import android.app.Activity; import android.content.SharedPreferences; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import com.zes.base.mydalytext.R; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; public class FileActivity extends Activity implements View.OnClickListener{ private Button save_btn,load_btn; private EditText content_et,content_btn2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_file); Init(); save_btn.setOnClickListener(this); load_btn.setOnClickListener(this); } public void Init(){ save_btn = (Button) findViewById(R.id.save_btn); load_btn = (Button) findViewById(R.id.load_btn); content_et = (EditText) findViewById(R.id.content_et); content_btn2 = (EditText) findViewById(R.id.content_et2); } @Override public void onClick(View view) { switch (view.getId()){ case R.id.save_btn : String data = content_et.getText().toString(); if (data==null||data.length()==0){ Toast.makeText(FileActivity.this,"请输入数据",Toast.LENGTH_SHORT).show(); }else{ try { OutputStream os = openFileOutput("text",0); String buffer = data; os.write(buffer.getBytes()); os.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } break; case R.id.load_btn : try { InputStream is = openFileInput("text"); StringBuffer sb = new StringBuffer(); int c = 0; while( (c=is.read())!=-1){ sb.append((char)c); } content_btn2.setText(sb); is.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } break; default: break; } } }
XML的布局实现大家就自己实现吧,实现的截图如下:
当输入数据点击保存数据的后进行保存,点击下载数据后数据进行下载:截图如下:
保存下载数据
今天的实现代码有点简单基本就是这个意思,大家要了解文件存储的原理和基本操作语法,但是大家一定要记得当进行数据的写和读的操作结束后关闭该操作流。
相关文章推荐
- Android重温--文件存储之文件存储中的一些其他的知识点
- 从J2EE转向Android的第九天-----文件存储
- Android数据存储之文件存储
- 【Android游戏开发十三】(保存游戏数据 [下文])详解SQLite存储方式,并把SQLite的数据库文件存储在SD卡中!!!
- 【Android游戏开发十三】(保存游戏数据 [下文])详解SQLite存储方式,并把SQLite的数据库文件存储在SD卡中!!!
- android使用文件进行存储
- Android数据存储之文件存储
- Android数据存储之文件I/O
- Android中的文件存储数据方式
- Android中的文件存储数据方式
- android基础---使用文件进行数据存储
- android文件存储的4种方式
- Android 数据存储 之 使用文件进行数据存储
- Android数据存储之文件存储
- Android数据存储--文件存储
- Android的文件存储和访问
- 【Android游戏开发十三】(保存游戏数据 [下文])详解SQLite存储方式,并把SQLite的数据库文件存储在SD卡中!!!
- Android 数据存储和文件使用案例分析
- 先祝大家中秋节快乐,为大家介绍下中秋篇Android文件下载与存储实例,感谢大家的支持哈!
- Android数据存储之文件存储