首页 / JAVA / java的IO总结(一)
java的IO总结(一)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java的IO总结(一),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2776字,纯文字阅读大概需要4分钟。
内容图文
![java的IO总结(一)](/upload/InfoBanner/zyjiaocheng/1088/651833b185e5403b809edf570057ce81.jpg)
Java的IO流是实现输入输出的基础,这里所说的流就是数据流,大部分的与流相关的类放在Java.io包下。
一,Java的流分类
按照不同的分类方式可以把流分成不同的类型,下面我们从不同的角度对流进行分类。
1,按照流的方向可以分为输入流与输出流
输入流:只能从中读取数据,而不能向其写出数据
输出流:只能向其写出数据,而不能从中读数据。 2,字节流与字符流
字节流主要是以InputStream和OutputStream为基类,其对应子类有FileInputStream和FileOutputStream实现文件读写,BufferedInputStream和BufferedOutputStream提供缓冲区功能,操作的最小单位数据是8位的字节。字符流主要是以Reader和Writer为基类,其对应子类FileWriter和FileReader可实现文件的读写操作,BufferedWriter和BufferedReader能够提供缓冲区功能,用以提高效率,操作的最小的单位数据是16位的字符。
3,节点流与处理流
节点流:可以从/向一个特定的IO设备中读/写数据流。程序直接和数据源(物理节点)相连接。
处理流:对节点流进行包装,他可以隐藏底层设备之间的差异,对外提供了更好的输入/输出方法。
字符流
实例1:字符流的写入
public class FileInputStreamTest { public static void main(String[] args) throws IOException { FileWriter fw = null; try { fw = new FileWriter("D:\\javaPro\\ioJava\\xin.txt"); fw.write("你说的话,我都不听\r\n"); fw.write("让着故事延长\r\n"); } catch(IOException e) { e.printStackTrace(); } finally { if(fw!=null) { fw.close(); } } } }
实例2:字符流的读取
public class ReadStreamTest { public static void main(String[] args) throws IOException { FileReader fr= null; try { fr = new FileReader("D:\\javaPro\\ioJava\\ha.txt"); char[] ch = newchar[1024]; int num; while ((num = fr.read(ch))!= -1) { System.out.println(new String(ch,0,num)); } } catch (IOException e) { e.printStackTrace(); } finally { if(fr!=null) { fr.close(); } } } }
实例3:字节流的写入
public class OutPutTest { public static void main(String[] args) throws IOException { FileInputStream fi = null; FileOutputStream fo = null; try { fi = new FileInputStream("D:\\javaPro\\ioJava\\ha.txt"); fo= new FileOutputStream("D:\\javaPro\\ioJava\\xin.txt"); byte[] by = newbyte[1024]; int num; while((num = fi.read(by))!=-1) { fo.write(by,0,num); } } catch(IOException e) { e.printStackTrace(); } finally { if(fi!=null) { fi.close(); } if(fo!=null) { fo.close(); } } } }
实例4:字节流的读取
public class Test { public static void main(String[] args) throws IOException { String str = "D:\\javaPro\\ioJava\\ha.txt"; FileInputStream f; f = new FileInputStream(str); byte[] temp1 = newbyte[1024]; int num; while ((num = f.read(temp1))>0) { System.out.println(num); System.out.println(temp1); System.out.println(new String(temp1,0,num)); } f.close();; } }
以上使用的都是节点流的例子,下面来看一个处理流的例子
实例5:处理流
public class FileInputStreamTest { public static void main(String[] args) throws IOException { PrintStream ps = null; try { // 创建一个节点流 FileOutputStream fs = new FileOutputStream("D:\\javaPro\\ioJava\\xin.txt"); // 用 PrintStream来包装 FileOutputStream输出流 ps = new PrintStream(fs); // 使用 PrintStream来执行输出 ps.println("普通字符"); // 直接使用 PrintStream输出对象 ps.println(new FileInputStreamTest()); } catch(IOException e) { e.printStackTrace(); } finally { if(ps!=null) { ps.close(); } } } }
从上面可以看出来程序使用处理流非常简单,只需要在创建处理流时传入一个节点流作为构造函数的参数,这样创建的处理流就是包含了节点流的处理流。。。
原文:http://www.cnblogs.com/duhuo/p/4204809.html
内容总结
以上是互联网集市为您收集整理的java的IO总结(一)全部内容,希望文章能够帮你解决java的IO总结(一)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。