Java----IO流
来源:互联网 发布:4s移动3g网络设置方法 编辑:程序博客网 时间:2024/04/30 20:44
java.io包中定义了多个流类型来实现输入输出功能。可分为输入 输出流 、 字节流 字符流 、 接电流 处理流
所有流类型位于java.io包内 都分别继承了以下四种抽象流类型。
InputStream OutputStream Reader Writer
1、节点流:可以从一个特定的数据源(节点)读写数据。即可直接读写、获取。
处理流:不止一个管道。
2、带有Stream关键字都为字节流:InputStream OutputStream
字符流: Reader Writer
3、继承自InputStream的流都是用于向程序中输入数据的。单位为字节。
方法: int read() 读取一个字节 以整数的形式返回
int read(byte[] buffer) 读取一系列的字节并存储到一个数组buffer,返回读取的字节数。
int read(byte[] buffer, int offset, int length) 从offset位置开始读取length长度的字节,到buufer里。
void close() 关闭。
4、继承自OutputStream的流都是用于写数据的。单位为字节。
方法:void write(int b) 向输出流写入一个字节,内容为b的低八位。
void write(byte[] b) 将一个字节类型的数组中的数据写入到输出流
void write(byte[] b ,int off, int len) 讲一个字节类型的数组从off位置开始的len个字节写入到输出流中。
void flush() 将缓存中的数据全写入到目的地。close前使用。
void close() 关闭流,释放资源。
5、继承自Reader 和 Writer的流都是用于输入、输出数据的。单位为字符。方法类似Stream。
=======================================
具体流:
=======================================
6、
import java.io.*;public class Streamtest {public static void main(String[] args){int b;FileInputStream in = null;try{in = new FileInputStream("D:\\test1\\Streamtest\\src\\Streamtest.java");} catch (FileNotFoundException e){System.out.println("file not found!");System.exit(-1);}try{int num = 0;while((b = in.read()) != -1){System.out.print((char)b);num++;}in.close();System.out.println();System.out.println("共获取了" + num + "个字符");} catch (IOException e1){System.out.println("文件读取错误!");System.exit(-1);}}}
7、缓冲流:套接到相应的节点流上,对读写的数据提供缓冲功能。
BufferedInputStream
import java.io.*;public class BufferStream {public static void main(String[] args){try{FileInputStream in = new FileInputStream("D:\\test1\\Streamtest\\src\\Streamtest.java");BufferedInputStream bis = new BufferedInputStream(in);int c = 0;//System.out.print((char)bis.read());for(int i=0;i<30&&(c = bis.read())!=-1;i++){System.out.print((char)c + " ");if(i == 10) bis.mark(1000);}System.out.println();bis.reset();for(int i=0;i<30&&(c = bis.read())!=-1;i++){System.out.print((char)c + " ");}}catch(IOException e){}}}
ps:mark方法是在当前位置做下标记,参数告知在接下来读出多少个字符内mark有效。 reset方法可以回到最近一次的mark位置。
8、BufferedReader BufferedWriter
import java.io.*;public class BufferStream {public static void main(String[] args){String s;try{FileWriter fw = new FileWriter("D:\\test0.txt");FileReader fr = new FileReader("D:\\test0.txt");BufferedReader br = new BufferedReader(fr);BufferedWriter bw = new BufferedWriter(fw);for(int i=0;i<10;i++){s = String.valueOf(Math.random());bw.write(s);bw.newLine();//换行}bw.flush();//缓冲区内容写入目标while((s = br.readLine())!=null){System.out.println(s);}}catch(IOException e){System.out.println("file not exist !");}}}9、转换流:InputStreamReader 将InputStream转换为Rerader。 OutputStreamWriter 将OutputStream转换为Writer。
import java.io.*;public class BufferStream {public static void main(String[] args){String s;try{OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("D:\\test.txt"));osw.write("i am end !");System.out.println(osw.getEncoding());osw.close();osw = new OutputStreamWriter(new FileOutputStream("D:\\test.txt",true),"ISO8859_1");osw.write("i an mumu !");System.out.println(osw.getEncoding());osw.close();}catch(IOException e){System.out.println("file not exist !");}}}10、数据流:DataInputStream DaraOutputStream
可以直接读取 写入各种类型的数据。
--------------------------------------------------------------------
end、
- JAVA【IO一】IO流
- Java-IO-java的IO流
- java IO 流
- JAVA之IO流
- java IO(字符流)
- java的io流
- JAVA之IO流(
- JAVA 基础IO流
- JAVA 中的IO流
- Java IO 流学习
- JAVA 中的IO流
- Java IO流操作方法。。
- java io流总结
- 转]JAVA IO流
- JAVA IO流
- Java中的IO流
- JAVA IO 流操作
- 详述JAVA IO流
- 编程之美 笔记
- 解决Ubuntu wireshark找不到Interface问题
- 基于Delphi的接口编程入门
- 配置wxWidgets时碰到的link error
- CentOS 6.0下vncserver安装配置
- Java----IO流
- 用线性链表实现栈的功能
- 将类给实例化
- 正则表达式的数字实例
- 三星新推出Tizen操作系统初体验
- 工作感悟
- unity3d中javasciprt脚本参考
- POJ 1113 Wall
- .....................