importjava.io.*;publicclassTestIO{publicstaticvoidmain(String[] args)throwsIOException{//1.以行为单位从一个文件读取数据BufferedReader in=newBufferedReader(newFileReader("F:""nepalon""TestIO.java"));
String s, s2=newString();while((s=in.readLine())!=null)
s2+=s+""n";
in.close();//1b. 接收键盘的输入BufferedReader stdin=newBufferedReader(newInputStreamReader(System.in));
System.out.println("Enter a line:");
System.out.println(stdin.readLine());//2. 从一个String对象中读取数据StringReader in2=newStringReader(s2);intc;while((c=in2.read())!=-1)
System.out.println((char)c);
in2.close();//3. 从内存取出格式化输入try{
DataInputStream in3=newDataInputStream(newByteArrayInputStream(s2.getBytes()));while(true)
System.out.println((char)in3.readByte());
}catch(EOFException e){
System.out.println("End of stream");
}//4. 输出到文件try{
BufferedReader in4=newBufferedReader(newStringReader(s2));
PrintWriter out1=newPrintWriter(newBufferedWriter(newFileWriter("F:""nepalon"" TestIO.out")));intlineCount=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=newDataOutputStream(newBufferedOutputStream(newFileOutputStream("F:""nepalon"" Data.txt")));
out2.writeDouble(3.1415926);
out2.writeChars(""nThas was pi:writeChars"n");
out2.writeBytes("Thas was pi:writeByte"n");
out2.close();
DataInputStream in5=newDataInputStream(newBufferedInputStream(newFileInputStream("F:""nepalon"" Data.txt")));
BufferedReader in5br=newBufferedReader(newInputStreamReader(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=newRandomAccessFile("F:""nepalon"" rtest.dat","rw");for(inti=0; i<10; i++)
rf.writeDouble(i*1.414);
rf.close();
rf=newRandomAccessFile("F:""nepalon"" rtest.dat","r");for(inti=0; i<10; i++)
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; i++)
System.out.println("Value"+i+":"+rf.readDouble());
rf.close();
}
}