JAVA IO流
来源:互联网 发布:淘宝如何增加访客数 编辑:程序博客网 时间:2024/06/06 00:46
1:IO流操作主要是为了对数据进行读写操作
2:输入/输出的流向是相对Java程序而言的
IO流的三种分类:
输入流
输出流
字节流
字符流
节点流
处理流
字节流:
父类为InputStream,OuputStream,此为抽象类,不可实例化对象,需要子类继承,
最常用的是 FileInputStream 和 FileOutputStream.
最常用的的方法 int read(byte[] b,int off ,int len) , void write(byte[] b,int off ,int len)
读取数据示例
//声明输入流引用FileInputStream fis=null;try{//生成代表输入流的对象fis =new FileInputStream("e:/src/from.text");//生成一个字节数组byte [] buffer =new byte[100];//调用输入流的read方法读取数据fis.read(buffer, 0, buffer.length);String s=new String(buffer);//调用String对象的trim方法,去掉字符串首尾的空格s=s.trim();}catch(Exception e){System.out.print(e);}
读取写入的对比
//声明输入流引用FileInputStream fis=null;//声明输出流引用FileOutputStream fos=null;try{//生成代表输入流的对象fis =new FileInputStream("e:/src/from.text");//生成代表输出流的对象fos =new FileOutputStream("e:/src/to.text");//生成一个字节数组byte [] buffer =new byte[100];//调用输入流的read方法读取数据fis.read(buffer, 0, buffer.length);//read的返回值类型是int,正好通过参数给writeint temp=fis.read(buffer, 0, buffer.length);//调用输出流的write方法写入数据fos.write(buffer, 0, temp);}catch(Exception e){System.out.print(e);}
读取大文件的操作
//声明输入流引用FileInputStream fis=null;//声明输出流引用FileOutputStream fos=null;try{//生成代表输入流的对象fis =new FileInputStream("e:/src/from.text");//生成代表输出流的对象fos =new FileOutputStream("e:/src/to.text");//生成一个字节数组byte [] buffer =new byte[1024];while(true){//read的返回值类型是int,正好通过参数给writeint temp=fis.read(buffer, 0, buffer.length);//当数据读完的时候read返回的值为-1if(temp==-1){break;}//调用输出流的write方法写入数据fos.write(buffer, 0, temp);}}catch(Exception e){System.out.print(e);}finally{ //捕获关闭异常try{fis.close();fos.close();}catch(Exception e){System.out.print(e);}}
字符流:
父类为Reader,Writer,此为抽象类,不可实例化对象,需要子类继承,最常用的是 FileReader 和 FileWriter.最常用的的方法 int read(char[] b,int off ,int len) , void write(char[] b,int off ,int len)
字符流的读取:
FileReader fr=null;FileWriter fw=null;try{fr =new FileReader("e:/src/from.text");fw =new FileWriter("e:/src/to.text");//生成一个字符数组char [] buffer =new char[100];int temp=fr.read(buffer, 0, buffer.length);fw.write(buffer, 0, temp);}}catch(Exception e){System.out.print(e);}finally{try{fr.close();fw.close();}catch(Exception e){System.out.print(e);}}
处理流:
处理流用来装饰节点流,给它增加新功能,比如节点流是用来传输水的,处理流可以在传输水的功能上给水加热
FileReader fileReader=null;//声明处理流对象BufferedReader bufferedReader=null;try{fileReader =new FileReader("e:/src/from.text");//BufferedReader作为处理流用来装饰FileReader节点流,给它添加新功能bufferedReader =new BufferedReader(fileReader);String line = null;while(true){//当数据读取结束,readLine返回nullline=bufferedReader.readLine();if(line==null){break;}System.out.println(line);}}catch(Exception e){System.out.print(e);}finally{try{fileReader.close();bufferedReader.close();}catch(Exception e){System.out.print(e);}}
其实IO流的操作很相似,基本掌握一种操作就可以举一反三
感谢mars老师的JavaforAndroid的视频教程
0 0
- 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流
- Spring Bean配置继承
- 阻止a 标签跳转
- 网页小游戏之2048
- 【转】如何使用git进行版本管理
- python 返回值(return)None
- JAVA IO流
- coco笔记:C算式算法总结(二)
- 关于封装类的缓存
- Android 应用优化 内存、性能
- 【rqnoj106】最大加权矩形(1418)
- MFC 加载png图片
- IOS开发进阶-按钮属性操作
- Sublime Text2 使用教程
- jboss AS 7开放ip供其他机器访问