快速业务通道

详解Java编程中的IO系统 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-24
dReader:与BufferedInputStream对应

3) LineNumberReader:与LineNumberInputStream对应

4) PushBackReader:与PushbackInputStream对应

FilterOutStream的各种类型

用于封装以字节为导向的OutputStream

1) DataIOutStream:往stream中输出基本类型(int、char等)数据。

2) BufferedOutStream:使用缓冲区

3) PrintStream:产生格式化输出

用于封装以字符为导向的OutputStream

1) BufferedWrite:与对应

2) PrintWrite:与对应

三.RandomAccessFile

1.可通过RandomAccessFile对象完成对文件的读写操作

2.在产生一个对象时,可指明要打开的文件的性质:r,只读;w,只写;rw可读写

3.可以直接跳到文件中指定的位置

详解Java编程中的IO系统(3)

时间:2010-04-27

四.I/O应用的一个例子

import java.io.*; public class TestIO{ public static void main(String[] args) throws IOException{ //1.以行为单位从一个文件读取数据 BufferedReader in = new BufferedReader( new FileReader("F:\nepalon\TestIO.java")); String s, s2 = new String(); while((s = in.readLine()) != null) s2 += s + " "; in.close(); //1b.接收键盘的输入 BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in)); System.out.println("Enter a line:"); System.out.println(stdin.readLine()); //2.从一个String对象中读取数据 StringReader in2 = new StringReader(s2); int c; while((c = in2.read()) != -1) System.out.println((char)c); in2.close(); //3.从内存取出格式化输入 try{ DataInputStream in3 = new DataInputStream( new ByteArrayInputStream(s2.getBytes())); while(true) System.out.println((char)in3.readByte()); } catch(EOFException e){ System.out.println("End of stream"); } //4.输出到文件 try{ BufferedReader in4 = new BufferedReader( new StringReader(s2)); PrintWriter out1 = new PrintWriter( new BufferedWriter( new FileWriter("F:\nepalon\ TestIO.out"))); int lineCount = 1; while((s = in4.readLine()) != null) out1.println(lineCount++ + ":" + s); out1.close(); in4.close(); } catch(EOFException ex){ System.out.println("End of stream"); } //5.数据的存储和恢复 try{ DataOutputStream out2 = new DataOutputStream( new BufferedOutputStream( new FileOutputStream("F:\nepalon\ Data.txt"))); out2.writeDouble(3.1415926); out2.writeChars(" Thas was pi:writeChars "); out2.writeBytes("Thas was pi:writeByte "); out2.close(); DataInputStream in5 = new DataInputStream( new BufferedInputStream( new FileInputStream("F:\nepalon\ Data.txt"))); BufferedReader in5br = new BufferedReader( new InputStreamReader(in5)); System.out.println(in5.readDouble()); System.out.println(in5br.readLine()); System.out.println(in5br.readLine()); } catch(EOFException e){ System.out.println("End of stream"); } //6.通过RandomAccessFile操作文件 RandomAccessFile rf = new RandomAccessFile("F:\nepalon\ rtest.dat", "rw"); for(int i=0; i<10> rf.writeDouble(i*1.414); rf.close(); rf = new RandomAccessFile("F:\nepalon\ rtest.dat", "r"); for(int i=0; i<10> System.out.println("Value " + i + ":" + rf.

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号