Java新建文件,然后就可以写入数据了,但是Android却不一样,因为Android是 基于Linux的,我们在读写文件的时候,还需加上文件的操作模式
Environment类是一个提供访问环境变量的类。
android中可以在设备本身的存储设备或外接的存储设备中创建用于保存数据的文件。在默认状态下,文件是不能在不同程序间共享的。
文件存储数据可以通过openFileOutput方法打开一个文件(如果这个)文件不存在就自动创建这个文件),通过load方法来获取文件中的
File是通过FileInputStream和FileOutputStream对文件进行操作,
Context提供了如下两个方法来打开本应用程序的数据文件将读取的文件IO流。
FileInputStream openFileInput(String name):打开应用程序的数据文件夹下的name文件对应输入流。
FileOutputStream openFileOutput(String name,int mode):打开应用程序的数据文件夹下的name文件对应输出流。
参数:mode 指定打开文件的模式,该模式支持如下值:
MODE_PRIVATE :该文件只能被当前程序读写。
MODE_APPEND:以追加方式打开该文件,应用程序可以向该文件中追加内容。
MODE_WORLD_READABLE:该文件的内容可以被其他应用程序读取。
MODE_WORLD_WRITEABLE:该文件的内容可由其他程序读、写。
getDir(String name,int mode):
在应用程序的数据文件夹下获取或创建name对应的子目录。
File getFilesDir():
获取该应用程序的数据文件夹的绝对路径
读、写SD卡上的文件
调用Environment的getExternalStorageDirectory()方法来获取,外部存储器
Context的使用
getApplication返回结果为Application,且不同的Activity和Service返回的Application均为同一个全局对象
如果想获取输入Edit数据,直接用全局变量xx.getText()来获取,
File类是文件和目录的创建、查找和删除等操作
指定的文件和文件夹,需要指定路径来表示
可以根据路径将我们系统中的文件或文件夹封装成File类型对象
从内存到硬盘里,那是output
从硬盘流向内存操作是输入
字节流
字节输入流 InputStream
字节输出流 OutputStream
字符流
字符输入流 Reader
字符输出流 Writer
一切皆为字节
java.io.OutputStream抽象类是表示字节输出流的所有类的超类,将指定的字节信息写出到目的地
public void close():关闭此输出流并释放与此流相关联的任何系统资源
public void flush():刷新此输出流并强制任何缓冲的输出字节被写出
public void write(byte[] b):将b.length字节数组写入此输出流
pubic void write(byte[]b,int off,int len)从指定的字节数组写入len字节,从偏移量off开始输出到此输出流
public statract void write(int b):将指定的字节输出流
使用流的规律
1.创建流对象
2.执行对应的操作(读、写)
3.释放流对象
public FileOutputStream(File file)创建文件输出流以写入由指定的File对象表示的文件
public FileOutputStream(String name)创建文件输出流指定的名称写入文件
BitmapFactory创建Bitmap的几种方法说明
public
static
Bitmap decodeByteArray (
byte
[] data,
int
offset,
int
length, BitmapFactory.Options opts)
参数
data 压缩图像数据的字节数组
offset 图像数据偏移量,用于解码器开始从哪儿解析.
length 字节数,以偏移量开始,去解析
opts 可以为空,控制采样率和实付图像完全被解码的选项,或者仅仅返回大小
返回值
返回解码后的位图,或者如果图像数据不能被解码返回为空,或者 如果选项不是空,如果选项要求仅仅返回大小(opts.outWidth and opts.outHeight)。