存储文件:

public class FileOperate extends Activity {
private static final String FILENAME = "mydata.txt" ;// 设置文件名称
private static final String DIR = "ljpdata" ; @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.main); // 调用布局文件
if(Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED)){ // 如果sdcard存在
File file = new File(Environment
.getExternalStorageDirectory().toString()
+ File.separator
+ DIR + File.separator + FILENAME) ; // 定义File类对象
if (! file.getParentFile().exists()) { // 父文件夹不存在
file.getParentFile().mkdirs() ; // 创建文件夹
}
PrintStream out = null ; // 打印流对象用于输出
try {
out = new PrintStream(new FileOutputStream(file, true)); // 追加文件
out.println("山东大学软件学院(SDU,www.sdu.edu.cn),讲师:学生");
} catch (Exception e) {
e.printStackTrace();
} finally {
if (out != null) {
out.close() ; // 关闭打印流
}
}
} else { // SDCard不存在,使用Toast提示用户
Toast.makeText(this, "保存失败,SD卡不存在!",Toast.LENGTH_LONG).show();
}
}
}

读取文件:

public class FileOperate extends Activity {
private static final String FILENAME = "mydata.txt" ; // 设置文件名称
private static final String DIR = "ljpdata" ; // 设置保存文件夹
private TextView msg = null ; // 文本显示
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.main); // 调用布局文件
this.msg = (TextView) super.findViewById(R.id.msg) ;
if(Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED)){ // 如果sdcard存在
File file = new File(Environment
.getExternalStorageDirectory().toString()
+ File.separator
+ DIR + File.separator + FILENAME) ; // 定义File类对象
if (! file.getParentFile().exists()) { // 父文件夹不存在
file.getParentFile().mkdirs() ; // 创建文件夹
}
Scanner scan = null ; // 扫描输入
try {
scan = new Scanner(new FileInputStream(file)) ; // 实例化Scanner
while(scan.hasNext()){ // 循环读取
this.msg.append(scan.next() + "
") ; // 设置文本
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (scan != null) {
scan.close() ; // 关闭打印流
}
}
} else { // SDCard不存在,使用Toast提示用户
Toast.makeText(this, "读取失败,SD卡不存在!",Toast.LENGTH_LONG).show();
}
}
}

Android将图像转换成流存储与将流转换成图像

//take the image to byte[]
byte[] byteIcon = userIcon; //将字节数组即头像从二进制流转换成drawable
if(byteIcon != null){
  ByteArrayInputStream bais = new ByteArrayInputStream(byteIcon);
userIconDrawable = Drawable.createFromStream(bais, "image");
}
BitMap userIcon;

//将bitmap转换成drawable
ByteArrayOutputStream os = new ByteArrayOutputStream();
//参数1转换类型,参数2压缩质量,参数3字节流资源
userIcon.compress(CompressFormat.PNG, , os);
//将Drawable 转成bitmap
BitmapDrawable tempDrawable = (BitmapDrawable) DrawableImage;
tempDrawable.getBitmap();

android IO流操作文件(存储和读取)的更多相关文章

  1. IO流----操作文件的9种方法代码实现

    IO流----操作文件的9种方法代码实现: 1:使用字节流读写数据: 四种方式: method1:          每次读写一个字节,边读边写: /* * 复制文本文件. * * 数据源:从哪里来 ...

  2. 安卓 io流 写入文件,再读取的基本使用

    1.布局 布局里面只有一个EditView,通过输入内容之后,当触发 onDestroy 方法时,将输入的数据存储在当前应用的data/data/files文件夹下. <?xml version ...

  3. java io流 对文件夹的操作

    java io流 对文件夹的操作 检查文件夹是否存在 显示文件夹下面的文件 ....更多方法参考 http://www.cnblogs.com/phpyangbo/p/5965781.html ,与文 ...

  4. Java基础 IO流的文件和目录的五类主要操作

    笔记: /** IO流的 文件和目录的操作 * 1.路径需要 需要两个反斜杠 或者一个单斜杠! * 绝对路径:包括盘符在内的完整的路径名! * 相对路径:在当前目录文件下的路径! * 2.File 是 ...

  5. Java:IO流与文件基础

    Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列的对象 ...

  6. Java IO流操作汇总: inputStream 和 outputStream【转】

    我们在进行Android java 开发的时候,经常会遇到各种IO流操作.IO流操作一般分为两类:字符流和字节流.以“Reader”结尾都是字符流,操作的都是字符型的数据:以“Stream”结尾的都是 ...

  7. Java基础教程:IO流与文件基础

    Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列的对象 ...

  8. IO流的文件复制

    1.IO流的分类 1.根据处理数据类型的不同分为: 字符流:1)Reader 读取字符流的抽象类 常用方法: read() 读取单个字符 read(char[] cbuf) 将字符读入数组. read ...

  9. Hadoop基础-通过IO流操作HDFS

    Hadoop基础-通过IO流操作HDFS 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.上传文件 /* @author :yinzhengjie Blog:http://www ...

随机推荐

  1. SQL实现数据行列转换

    前言: 在日常的工作中,使用数据库查看数据是很经常的事,数据库的数据非常多,如果此时的数据设计是一行行的设计话,就会有多行同一个用户的数据,查看起来比较费劲,如果数据较多时,不方便查看,为了更加方便工 ...

  2. 给easyui datebox时间框控件扩展一个清空的实例

    给easyui datebox扩展一个清空的实例 步骤一:拓展插件 /** * 给时间框控件扩展一个清除的按钮 */ $.fn.datebox.defaults.cleanText = '清空'; ( ...

  3. sqlCAST使用详解

    (1).CAST()函数的参数是一个表达式,它包括用AS关键字分隔的源值和目标数据类型.以下例子用于将文本字符串'12'转换为整型: SELECT CAST('12' AS int) (2).返回值是 ...

  4. linux 目录结构+常用命令+压缩命令+vim使用+及基础知识

    linux目录架构 / 根目录 /bin 常用的命令 binary file 的目录 /boot 存放系统启动时必须读取的档案,包括核心 (kernel) 在内 /boot/grub/menu.lst ...

  5. layui框架使用总结

    最近一个后台系统使用layui框架做的,遇到好多坑在这里总结一下. 1.layui的基本使用,下面的在他下面写,其他的事件也要在这个里面写     行内onclick事件是监听不到写在下面这种代码中的 ...

  6. 把AspDotNetCoreMvc程序运行在Docker上-part4:实现负载均衡

    在上一part<把AspDotNetCoreMvc程序运行在Docker上-part3:使用独立的存储容器>,我们利用MySql容器和Volume实现了真正意义上的数据存储.整个结构非常简 ...

  7. hadoop学习笔记(十):MapReduce工作原理(重点)

    一.MapReduce完整运行流程 解析: 1 在客户端启动一个作业. 2 向JobTracker请求一个Job ID. 3 将运行作业所需要的资源文件复制到HDFS上,包括MapReduce程序打包 ...

  8. MVC部分视图

    // 以视图名使用当前文件夹下的视图 // 如果没有找到,则搜索 Shared 文件夹 @Html.Partial("ViewName")   @Html.Partial(“视图” ...

  9. 使用Python制作一个简单的刷博器

    呵呵,不得不佩服Python的强大,寥寥几句代码就能做一个简单的刷博器. import webbrowser as web import time import os count=0 while co ...

  10. Bootstrap中的datetimepicker插件用法总结(转载)

    datetimepicker用法总结   目录 datetimepicker用法总结 目录 简述 官方文档 选项属性 1 format 格式 2 weekStart 一周从哪一天开始 3 startD ...