????????????????????????
importjava.io.*;publicclassTestBufferStream1{publicstaticvoidmain(String[]args){try{FileInputStreamfis=newFileInputStream("D:\\Accp5.0\\aa\\src\\TestBufferStream1.java");BufferedInputStreambis=newBufferedInputStream(fis);intc=0;System.out.println((char)bis.read());System.out.println((char)bis.read());bis.mark(200);for(inti=0;i<=10&;&;(c=bis.read())!=-1;i++){System.out.print((char)c+"");}System.out.println();bis.reset();for(inti=0;i<=10&;&;(c=bis.read())!=-1;i++){System.out.print((char)c+"");}bis.close();}catch(IOExceptione){e.printStackTrace();}}}
??????????????????????
importjava.io.*;publicclassTestBufferStream2{publicstaticvoidmain(String[]args){try{BufferedWriterbw=newBufferedWriter(newFileWriter("d:\\dat2.txt"));BufferedReaderbr=newBufferedReader(newFileReader("d:\\dat2.txt"));Strings=null;for(inti=1;i<=100;i++){s=String.valueOf(Math.random());bw.write(s);bw.newLine();}bw.flush();while((s=br.readLine())!=null){System.out.println(s);}bw.close();br.close();}catch(IOExceptione){e.printStackTrace();}}}
??????????????????
importjava.io.*;publicclassTestTransForm1{publicstaticvoidmain(String[]args){try{OutputStreamWriterosw=newOutputStreamWriter(newFileOutputStream("d:\\bak\\char.txt"));osw.write("mircosoftibmsunapplehp");System.out.println(osw.getEncoding());osw.close();osw=newOutputStreamWriter(newFileOutputStream("d:\\bak\\char.txt",true),"ISO8859_1");//latin-1osw.write("mircosoftibmsunapplehp");System.out.println(osw.getEncoding());osw.close();}catch(IOExceptione){e.printStackTrace();}}}
????????????????????
importjava.io.*;publicclassTestTransForm2{publicstaticvoidmain(Stringargs[]){InputStreamReaderisr=newInputStreamReader(System.in);BufferedReaderbr=newBufferedReader(isr);Strings=null;try{s=br.readLine();while(s!=null){if(s.equalsIgnoreCase("exit"))break;System.out.println(s.toUpperCase());s=br.readLine();}br.close();}catch(IOExceptione){e.printStackTrace();}}}//阻塞
??????????????????????
importjava.io.*;publicclassTestDataStream{publicstaticvoidmain(String[]args){ByteArrayOutputStreambaos=newByteArrayOutputStream();DataOutputStreamdos=newDataOutputStream(baos);try{dos.writeDouble(Math.random());dos.writeBoolean(true);ByteArrayInputStreambais=newByteArrayInputStream(baos.toByteArray());System.out.println(bais.available());DataInputStreamdis=newDataInputStream(bais);System.out.println(dis.readDouble());System.out.println(dis.readBoolean());dos.close();dis.close();}catch(IOExceptione){e.printStackTrace();}}}
Java实例—以字符流方式写入文件
importjava.io.*;publicclassFile8{publicstaticvoidmain(Stringargs[])throwsException{InputStreamReaderiin=newInputStreamReader(System.in);BufferedReaderbr=newBufferedReader(iin);FileWriterfw1=newFileWriter("c:\\jdk1.3\\example\\dataFile.txt");BufferedWriterbw=newBufferedWriter(fw1);Strings;while(true){System.out.print("输入一个字符串:");System.out.flush();s=br.readLine();if(s.length()==0)break;bw.write(s);bw.newLine();}bw.close();}}
例--以字符流方式读取文件
publicclassFile9{publicstaticvoidmain(Stringargs[])throwsException{FileReaderfr1=newFileReader("c:\\jdk1.3\\example\\dataFile.txt");BufferedReaderbr1=newBufferedReader(fr1);BufferedWriterbw1=newBufferedWriter(newFileWriter("c:\\jdk1.3\\example\\targetFile.txt"));intlineNum=0;Strings=br1.readLine();
while(s!=null){lineNum++;bw1.write(String.valueOf(lineNum));bw1.write("");bw1.write(s);bw1.newLine();s=br1.readLine();}bw1.close();}}
例--以字符流方式向显示器输出
importjava.io.*;publicclassFile11{publicstaticvoidmain(Stringargs[])throwsException{FileReaderfr1=newFileReader("c:\\jdk1.3\\example\\dataFile.txt");BufferedReaderbr1=newBufferedReader(fr1);BufferedWriterbw1=newBufferedWriter(newOutputStreamWriter(System.out));intlineNum=0;Strings=br1.readLine();
while(s!=null){lineNum++;bw1.write(String.valueOf(lineNum));bw1.write("");bw1.write(s);bw1.newLine();s=br1.readLine();}bw1.close();}}
课堂练习
1、编写一个程序,其功能是将两个文件的内容合并到一个文件。2、编写
程序实现:产生10万个随机数,输出到文件,比较使用缓冲流和不使用缓冲流的输出时间。