Android之文件存储
16lz
2022-03-13
废话不多说,代码中有述!
<span style="font-size:13px;">package com.linxcool.main;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWriter;import android.app.Activity;import android.content.Context;import android.content.SharedPreferences;import android.content.SharedPreferences.Editor;import android.content.res.AssetManager;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class MyFileSystem extends Activity {private Button rawButton;private Button assetsButton;private Button privateInButton;private Button privateOutButton;private Button sdCardButton;private Button writePrefButton;private Button readPrefButton;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);rawButton = (Button) findViewById(R.id.rawButton);assetsButton = (Button) findViewById(R.id.assetsButton);privateInButton = (Button)findViewById(R.id.privateInButton);privateOutButton = (Button)findViewById(R.id.privateOutButton);sdCardButton = (Button)findViewById(R.id.sdCardButton);writePrefButton = (Button)findViewById(R.id.writePrefButton);readPrefButton = (Button)findViewById(R.id.readPrefButton);initAssetsFile();initRawFile();initPrivateIn(this);initPrivateOut(this);initSdCard(this);initWritePreferences();initReadPreferences();}/** * assets方式 */private void initAssetsFile(){assetsButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {AssetManager assetManager=getAssets();try {InputStream in=assetManager.open("file.txt");showMsg(in);} catch (IOException e) {e.printStackTrace();}}});}/** * raw方式 */private void initRawFile(){rawButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {InputStream in=getResources().openRawResource(R.raw.file);showMsg(in);}});}/** * 写入私有文件 * 文件将保存在/data/data/[APP package]/files/ 目录下 */private void initPrivateIn(final Context context){privateInButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {String fileName = "myPrivateFile.txt";FileOutputStream fos = null;try {fos = context.openFileOutput(fileName, Context.MODE_PRIVATE);PrintWriter pw = new PrintWriter(fos);pw.println("往私有文件里面写入de内容");pw.flush();Toast.makeText(context, "往私有文件里面写入了内容", Toast.LENGTH_SHORT).show();fos.close();} catch (Exception e) {e.printStackTrace();}}});}/** * 读取私有文件 */private void initPrivateOut(final Context context){privateOutButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {String fileName = "myPrivateFile.txt";FileInputStream in;try {in=context.openFileInput(fileName);showMsg(in);} catch (Exception e) {e.printStackTrace();}}});}/** * SD卡方式 */private void initSdCard(Context context){sdCardButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {String msg="";File file=new File("/");if(file.exists()){if(file.isDirectory()&&file.canRead()){String[] fileNames=file.list();for (String fileName : fileNames) {msg+=fileName+"\n";}}else msg=file.getName();}Toast.makeText(MyFileSystem.this, msg, Toast.LENGTH_SHORT).show();}});}/** * 首选项文件 */private void initWritePreferences(){writePrefButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {String prefFileName = "myPref.txt";SharedPreferences sp = getSharedPreferences(prefFileName, Context.MODE_PRIVATE);Editor editor = sp.edit();editor.putString("name1", "abc");editor.putString("name2", "xyz");editor.commit();}});}private void initReadPreferences(){readPrefButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {String prefFileName = "myPref.txt";SharedPreferences sp = getSharedPreferences(prefFileName, Context.MODE_PRIVATE);String name1 = sp.getString("name1", "");Toast.makeText(MyFileSystem.this, name1, Toast.LENGTH_SHORT).show();}});}private void showMsg(InputStream in){try {BufferedReader br=new BufferedReader(new InputStreamReader(in));String text=br.readLine();Toast.makeText(MyFileSystem.this, text, Toast.LENGTH_SHORT).show();br.close();in.close();} catch (IOException e) {e.printStackTrace();}}}</span>
更多相关文章
- 2021-01-12 Android对apk进行签名
- Android文件存储总结
- 《Android.Programming.Pushing.the.Limits].Erik.Hellman》记录
- Android下的junit 单元测试
- Android(安卓)加载图片文件 函数
- Android(安卓)- HTTP util class SyncGET & SyncPOST
- android Multiple markers at this line - The type java.lang.C
- Android(安卓)解压文件包
- NPM 和webpack 的基础使用