您的位置: 首页 > 软件教程 > Java教程专题 > 详细解读Java编程中的IO系统

详细解读Java编程中的IO系统

9.0分
出处:网络 时间:2011-04-26

您可能感兴趣的话题: Java  

核心提示:stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源。

catch(EOFExceptionex){

System.out.println("Endofstream");

}

//5.数据的存储和恢复

try{

DataOutputStreamout2=

newDataOutputStream(

newBufferedOutputStream(

newFileOutputStream("F:\nepalon\Data.txt")));

out2.writeDouble(3.1415926);

out2.writeChars(" Thaswaspi:writeChars ");

out2.writeBytes("Thaswaspi:writeByte ");

out2.close();

DataInputStreamin5=

newDataInputStream(

newBufferedInputStream(

newFileInputStream("F:\nepalon\Data.txt")));

BufferedReaderin5br=

newBufferedReader(

newInputStreamReader(in5));

System.out.println(in5.readDouble());

System.out.println(in5br.readLine());

System.out.println(in5br.readLine());

}

catch(EOFExceptione){

System.out.println("Endofstream");

}

//6.通过RandomAccessFile操作文件

RandomAccessFilerf=

newRandomAccessFile("F:\nepalon\rtest.dat","rw");

for(inti=0;i<10>

rf.writeDouble(i*1.414);

rf.close();

rf=newRandomAccessFile("F:\nepalon\rtest.dat","r");

for(inti=0;i<10>

System.out.println("Value"+i+":"+rf.readDouble());

rf.close();

rf=newRandomAccessFile("F:\nepalon\rtest.dat","rw");

rf.seek(5*8);

rf.writeDouble(47.0001);

rf.close();

rf=newRandomAccessFile("F:\nepalon\rtest.dat","r");

for(inti=0;i<10>

System.out.println("Value"+i+":"+rf.readDouble());

rf.close();

}

}

关于代码的解释(以区为单位):

 1区中,当读取文件时,先把文件内容读到缓存中,当调用in.readLine()时,再从缓存中以字符的方式读取数据(以下简称“缓存字节读取方式”)。

 1b区中,由于想以缓存字节读取方式从标准IO(键盘)中读取数据,所以要先把标准IO(System.in)转换成字符导向的stream,再进行BufferedReader封装。

 2区中,要以字符的形式从一个String对象中读取数据,所以要产生一个StringReader类型的stream。

 4区中,对String对象s2读取数据时,先把对象中的数据存入缓存中,再从缓冲中进行读取;对TestIO.out文件进行操作时,先把格式化后的信息输出到缓存中,再把缓存中的信息输出到文件中。

 5区中,对Data.txt文件进行输出时,是先把基本类型的数据输出屋缓存中,再把缓存中的数据输出到文件中;对文件进行读取操作时,先把文件中的数据读取到缓存中,再从缓存中以基本类型的形式进行读取。注意in5.readDouble()这一行。因为写入第一个writeDouble(),所以为了正确显示。也要以基本类型的形式进行读取。

 6区是通过RandomAccessFile类对文件进行操作。

网友评论
精品软件课程
更多 >
C++是一种静态数据类型检查的,支持多重编程... [详细]
C语言是一种面向过程的计算机程序设计语言。多... [详细]
Visual Basic是一种由微软公司开发... [详细]
Oracle Database,又名Orac... [详细]
Visual Basic.NET是从 Vis... [详细]
Visual C++微软公司的C++开发工具... [详细]