1、文件的读取

io流读取文件,并且显示

package com.helloword;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader; public class ReadFile {
private String text = null;
private StringBuffer strbuf=null; public void ReadFile(File file) {
// TODO Auto-generated constructor stub
//获取文件输出流
FileInputStream fis;
try {
fis = new FileInputStream(file);
//将字节流转换为字符流
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
try {
text = br.readLine();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} strbuf.append(text); System.out.println(text);
} }

  其中访问android的"data/data/com.helloword/file"建立过程如下

  打开file explore,即可看到Android 的文件

  打开cmd,进入sdk platform-tool

  >adb shell
  $ su
  # chmod 777 /data

  # chmod 777 /data/data

public class MainActivity extends Activity {
public Button bt =null; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt = (Button) findViewById(R.id.btcon);
bt.setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View v) {
// TODO Auto-generated method stub
File file = new File("data/data/com.helloword/file");
ReadFile readfile = new ReadFile();
}
});
}

  

2、SD卡文件的读写操作

  (1)在manifest.xml中注册,获得SD卡的读写权限
 <!-- SDCard中创建与删除文件权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<!-- 向SDCard写入数据权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>

  (2) 接着在使用SDcard进行读写的时候 会用到Environment类下面的几个静态方法  :

   1: getDataDirectory() 获取到Android中的data数据目录(sd卡中的data文件夹)
      2:getDownloadCacheDirectory() 获取到下载的缓存目录(sd卡中的download文件夹)
      3:getExternalStorageDirectory() 获取到外部存储的目录 一般指SDcard(/storage/sdcard0)
      4:getExternalStorageState() 获取外部设置的当前状态 一般指SDcard,比较常用的应该是 MEDIA_MOUNTED(SDcard存在并且可以进行读写)还有其他的一些状态,可以在文档中进行查找.

	/**
* 判断SDCard是否存在 [当没有外挂SD卡时,内置ROM也被识别为存在sd卡]
*
* @return
*/
public static boolean isSdCardExist() {
return Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED);
}

  

* 使用api获得sd卡的真实路径,部分手机品牌会更改sd卡的路径

Environment.getExternalStorageDirectory();

读取SD卡的内容

  

//读取SD卡内容
//使用FileInputStream读取文件
public String ReadFlieInputString(String FileName) throws IOException
{
String result = null;
File file = new File(FileName);
try {
FileInputStream isfile = new FileInputStream(file);
byte[] b = new byte[isfile.available()];
isfile.read(b);
result = new String(b);
System.out.print("读取成功:"+ result); } catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} return result;
} //使用BufferRead 读取文件
public String FileBufferRead(String FileName) throws IOException {
String result = null;
try {
BufferedReader bReader = new BufferedReader(new FileReader(FileName));
String oneline = "";
StringBuffer sb = new StringBuffer();
while ((oneline = bReader.readLine()) != null) {
sb.append(oneline);
}
result = sb.toString();
bReader.close();
System.out.println("读取成功"); } catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result; }

  向SD卡中写入文件

//写入SD卡
//使用FileOutputStream写入文件
public Boolean writeSDFile(String FileName, String content){
boolean result = false;
try {
File file = new File(Environment.getExternalStorageDirectory(), FileName);
//获得输出流
FileOutputStream fos = new FileOutputStream(file);
fos.write(content.getBytes());
fos.close();
System.out.println("写入成功:");
result = true;
} catch (Exception e) {
e.printStackTrace();
}
return result;
} //使用buffread写入SD卡
public Boolean BufferWriteFile(String FileName, String content){
boolean result = false;
try {
File file = new File(Environment.getExternalStorageDirectory(),
FileName);
//第二个参数意义是说是否以append方式添加内容
BufferedWriter bw = new BufferedWriter(new FileWriter(file, true));
bw.write(content);
bw.flush();
System.out.println("写入成功");
result = true;
} catch (Exception e) {
e.printStackTrace();
}
return result;
}

  以上内容纯属自己练着玩!基本都是参照http://blog.csdn.net/mad1989/article/details/37568667

android之旅——开始的更多相关文章

  1. Android之旅:梦想、学习、坚持、自信、淡定

    前段时间参加了2012年度IT博客大赛,进了前十强,写了一篇获奖感言,不过还没正式在CSDN发表出来.眼看2012年就要结束了,刚好借这个机会将2012年度IT博客大十强获奖感言发表出来,也算是对20 ...

  2. 转载_2012年的Android之旅:梦想、学习、坚持、自信、淡定

    原文地址:http://blog.csdn.net/luoshengyang/article/details/8452527 2012年的Android之旅:梦想.学习.坚持.自信.淡定.. ---- ...

  3. 《老罗的Android之旅》导读PPT

    虽然好几个月没更新博客了,但是老罗一直有在准备可以分享的东西的.除了早前在微博分享Android4.2相关技术之外,这次还特意准备了13个PPT,总结之前所研究过的东西.内容从Android组件设计思 ...

  4. 我的Android之旅——学习、项目、心态

    本文作者: 伯乐在线 - 唐韧 .未经许可,禁止转载!欢迎分享原创到伯乐头条. 来源:唐韧 学习Android也一年多了,项目做了五六个,有大有小,有难有易.一直以来都没有好好总结过,今天周六休息,就 ...

  5. 开启我的Android之旅-----记录Android环境搭建遇到的问题

    在现在这个离不开手机的时代,对于手机APP的开发也是一个很大的市场,所以自己也想去探一探手机APP开发,在我们进行Android开发的第一步就是搭建环境,具体怎么搭建我就不说,这里记录一下在搭建环境的 ...

  6. Android之旅---广播(BroadCast)

    什么是广播 在Android中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制.我们拿广播电台来做个比方.我们平常使用收音机收音是这样的:许许多多不同的广播电台通过特定的频率来发送他们 ...

  7. Android之旅 笔记总结(一)

    一.Android入门 1.          Android操作系统的体系结构分为4层,由上而下依次是应用程序.应用程序框架.核心类库(包括Android运行时环境)和Linux内核. 2.     ...

  8. android驱动[置顶] 我的DIY Android之旅--驱动并控制你的Android开发板蜂鸣器

    改章节个人在深圳游玩的时候突然想到的...这几周就有想写几篇关于android驱动的博客,所以回家到之后就奋笔疾书的写出来发布了 这些天一直在想Android驱动框架层的实现,本文借助老罗教师的博客和 ...

  9. Android之旅十八 百度地图环境搭建

    在android中使用百度地图,我们能够先看看百度地图对应的SDK信息:http://developer.baidu.com/map/index.php? title=androidsdk,它里面基本 ...

随机推荐

  1. nginx1.8+php5.6.10 服务器编译安装备忘2015-06

    又要重新装一台阿里云服务器.开始想用脚本,但发现脚本的程序版本都比较低  还是手动编译最新版本 开始前 更新服务器到最新版本 #yum makecache #yum update //分区挂数据盘 # ...

  2. MySql数据库1【概念】

    [mysql] mysql是目前最主流的跨平台.开放源代码的关系型数据库,由瑞曲的mysql ab公司开发,已经被SUN公司收购,标识是一只名为sakila的海豚,代表mysql的速度.能力.精确优秀 ...

  3. BAE 环境下 hibernate annotations 配置

     annotations 配置 首先需要加入 hibernate-jpa-2.0-api-1.0.1.Final.jar 和 ejb3-persistence.jar 这两个包 ejb3-persis ...

  4. App的token机制

    这只是网上看来的后期可能还会修改. 理论版的描述如下: (1) 服务器接收到app发送的用户名和密码后,验证用户名和密码是否正确. 如果错误则返回错误信息. 如果验证正确,生成一个随机的不重复的tok ...

  5. IOS--UISlider的使用方法

    IOS--UISlider的使用方法 // UISlider的常用方法 UISlider *oneSlider = [[UISlider alloc] init]; // 最常用 oneSlider. ...

  6. Js使用word书签填充内容

    Js使用word书签填充内容 1.在模板文件中需要填充的地方插入书签 填充内容为:(|光标所在处) 填写书签名,点击添加完成: 2.使用js打开模板,获取书签位置,填充数据: function pri ...

  7. BZOJ 3786 星系探索

    Description 物理学家小C的研究正遇到某个瓶颈. 他正在研究的是一个星系,这个星系中有n个星球,其中有一个主星球(方便起见我们默认其为1号星球),其余的所有星球均有且仅有一个依赖星球.主星球 ...

  8. One git command may cause you hacked(CVE-2014-9390)

    0x00 背景 CVE-2014-9390是最近很火的一个漏洞,一个git命令就可能导致你被黑,我不打算深入探讨这个漏洞的细节,官方已经在https://github.com/blog/1938-gi ...

  9. Struts2 文件上传,下载,删除

    本文介绍了: 1.基于表单的文件上传 2.Struts 2 的文件下载 3.Struts2.文件上传 4.使用FileInputStream FileOutputStream文件流来上传 5.使用Fi ...

  10. 【HDOJ】2267 How Many People Can Survive

    BFS. #include <iostream> #include <cstdio> #include <cstring> #include <queue&g ...