java IO流

来源:互联网 发布:mac总是显示flash过期 编辑:程序博客网 时间:2024/05/17 01:08
http://edu.csdn.net/lecturer/240#   //java视频
 
IO流

java的IO流可以分为如下几类:
~按照传输的数据类型分:字节流和字符流  ,字节流主要用于传递非文本文件,相对的速度也较慢,字符流用与传递文本数据
      其次,字符流是有缓存区的,只有在close()后才能写到文件中

~按照传递的方向来分可以分为:InputStream和OutputStream,需要站在程序的角度来分析数据的传递方向
~按照传输的层次来分可以分为:节点流和处理流,节点流是最基础的传递方式,处理流在节点流的基础上增加了一些特性


节点流:
字节流:FileInputStream、FileOutputStream
字符流:FileReader、FileWriter

这些流的使用均符合一个规律
1、找到需要处理的对象,比如文件、String等,使其对象化
File file = new File("路径");
2、选择传递的方式,字符型还是字节型,输入还是输出,创建对应的流
并将输入输出放进这个流里面
 FileInputStream fis = newFileInputStream(file);

2.5、自己选择相对应的处理流对原有的流进行处理,比如缓冲流和转换流
使用缓冲流和转换流均可以加快传递数据的速度
缓冲流:BufferedInputStream、BufferedOutputStream
转换流:InputStreamReader、OutputStreamWriter

InputStream in;
BufferesReader reader = new BufferedReader(new InputStreamReader(in));


.flush();清空缓冲区

3.使用read或者write对这个对象进行读写操作,当然,也可以使用readline来一次读取一行的数据

4、关闭流,这里使用了处理流的只需要直接关闭处理流即可





保存自己需要用到的类:

DataOutputStream类

构造函数:

DataOutputStream(OutputStream out);//创建一个将数据写入指定输出流out的数据输出流。

字段摘要:

int written;//到目前为止写入数据流的字节数。

主要方法:

void write(byte[] b,int off,int len);//将byte数组off角标开始的len个字节写到OutputStream 输出流对象中。

void write(int b);//将指定字节的最低8位写入基础输出流。

void writeBoolean(boolean b);//将一个boolean值以1-byte形式写入基本输出流。

void writeByte(int v);//将一个byte值以1-byte值形式写入到基本输出流中。

void writeBytes(String s);//将字符串按字节顺序写入到基本输出流中。

void writeChar(int v);//将一个char值以2-byte形式写入到基本输出流中。先写入高字节。

void writeInt(int v);//将一个int值以4-byte值形式写入到输出流中先写高字节。

void writeUTF(String str);//以机器无关的的方式用UTF-8修改版将一个字符串写到基本输出流。该方法先用writeShort写入两个字节表示后面的字节数。

int size();//返回written的当前值


DataInputStream类

构造方法:DataInputStream(InputStream in);

主要方法:

int read(byte[] b);//从输入流中读取一定的字节,存放到缓冲数组b中。返回缓冲区中的总字节数。

int read(byte[] buf,int off,int len);//从输入流中一次读入len个字节存放在字节数组中的偏移off个字节及后面位置。

String readUTF();//读入一个已使用UTF-8修改版格式编码的字符串

String readLine();

boolean readBoolean;

int readInt();

byte readByte();

char readChar();


0 0
原创粉丝点击