读写SD卡
来源:互联网 发布:乐酷网络网站 编辑:程序博客网 时间:2024/05/17 09:04
package com.example.tyxiong.myapplication;import android.app.Activity;import android.os.Bundle;import android.os.Environment;import android.view.View;import android.widget.EditText;import android.widget.Toast;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintStream;/*** Android的数据存储.前面用到PreferencesActivity存储参数设置...shared_文件.* 少数据可用SharedPreferences File来存储;数据量大用SQL,当然手机不是服务器.** SharedPreferences File SD卡 SQLiteDatabase** SharedPreferences:文件存储位置在data/data/<包>.share_.xml key-value对* 1 SharePreferences,负责读取其内数据3方法;* 2 Editor,SharedPreferences内部接口,负责向其内写数据,4方法(putxxx()/clear()/remove()/commit())** 使用步骤:4步* 1SharedPreferences对象,Context方法getSharedPreferences(name,mode) 获取指定文件名 对象,3模式(private/../..)* 2Editor对象, SharedPreferences对象 edit()方法.* 3Editor对象 写数据.* 4SharedPreferences读.**File存储. java提供了完整的IO流体系.各种流.字节流/字符流/节点流/处理流/转换流/...** Context有2方法 openFileOutput()4模式(private/append/....)/openFileInput()---文件流.为两方法仅能打开该context应用程序文件夹文件..* Context有4方法访问该程序文件夹. 获取根下指定子目录/根下所有文件/删除根下指定文件/根绝对路径* 使用步骤4:* 1 Context的openFileOutput(指定模式4种)方法获得指定文件名对应文件的outStream(* 2 可包装成打印流)写入数据. 写完关闭流.* 3 Context的openFileInput()方法获得文件的输入流,* 4 可包装成处理流(字符处理流)读行),读出数据,关闭流(顶端流.)** 读写SD卡文件: SD卡扩展了手机的存储能力. 使用分为4步:* 1 AndroidManifest.xml中添加权限MOUNT_UNMOUNT_FILESYSTEMS(加入删除文件); WRITE_EXTERNAL_STORAGE(写SD卡)* 2 判断是否存在SD卡且有读写权限 Environment.getExternalStorageStage().equals(Environment.MEDIA_MOUNTED)* 3 Environment.getExternalStorageDirectory();获得Sd卡目录,* 4 获取指定文件流入/流出流进行数据操作...new FileOutputStream() (无法用openFile...那只针对应用程序路径文件)* 以下为SD过程存储取过程.(与File区别就是 加入写SD卡权限,获取文件流方法不同而已)* */public class MainActivity extends Activity { EditText text; private final String MY_FILE = "/myFile1.txt"; PrintStream print; File storageDirectory; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); text = (EditText) findViewById(R.id.textView); } public void write(View view) throws FileNotFoundException { if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { storageDirectory = Environment.getExternalStorageDirectory(); FileOutputStream outStream = null; try { outStream = new FileOutputStream(storageDirectory.getCanonicalPath() + MY_FILE, true); } catch (IOException e) { e.printStackTrace(); } print = new PrintStream(outStream); String str = text.getText().toString(); text.setText(""); print.print(str); print.close(); } } public void read(View view) { try { if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { StringBuilder sb = new StringBuilder(); // preference.getAll(); FileInputStream inputStream = new FileInputStream(storageDirectory + MY_FILE); BufferedReader buffer = new BufferedReader(new InputStreamReader(inputStream)); String temp; while ((temp = buffer.readLine()) != null) { sb.append(temp); } inputStream.close(); Toast.makeText(MainActivity.this, sb, Toast.LENGTH_SHORT).show(); } } catch (NullPointerException ex) { ex.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }}
0 0
- J2me读写SD卡
- sd卡读写操作
- sd卡的读写
- 读写SD卡
- SD卡读写流程
- android读写sd卡
- SD卡读写流程
- android读写sd卡
- Android SD卡读写
- SD卡读写文件
- SD卡读写实例
- 读写SD卡文件
- 在SD卡读写
- SD卡读写问题
- unity 读写sd卡
- 读写SD卡
- SD卡读写
- sd卡读写文件
- Android相机和录音的使用总结
- LeetCode No.124 Binary Tree Maximum Path Sum
- 汇编语言程序设计-十进制转换为十六进制的程序实现
- 辛客小杰个人博客源码
- Java中Comparable与Comparator的区别
- 读写SD卡
- 使用Hibernate编写第一个小案例
- startActivityForResult用法简述
- 最小风险贝叶斯决策
- 字段小结
- 麻辣烫与安卓主线程工作原理
- tslib-1.4的安装与移植
- SQLite数据库存储数据使用
- 初识mybatis<一>