Java流操作之数据流实例代码
实例1:
packagedataInputStreamAndPrintStreamDemo; importjava.io.BufferedInputStream; importjava.io.BufferedOutputStream; importjava.io.DataInputStream; importjava.io.DataOutputStream; importjava.io.IOException; importjava.io.PrintStream; //示范如何自键盘读入字符串,并使用DataInputStream,PrintStream类将程序执行显示在屏幕(标准输出)上 publicclassDataInputStreamAndPrintStreamDemo{ publicstaticvoidmain(String[]args){ intcount; byteinput[]=newbyte[256]; StringInputString; //键盘读入 DataInputStreamstdin=newDataInputStream(System.in); //提高执行效率,几乎所有的InputStream类都可以被BufferedStream类包覆(wrap)来提高I/O效率 BufferedInputStreambufin=newBufferedInputStream(stdin); //屏幕输出 DataOutputStreamstdout=newDataOutputStream(System.out);//将结果输出至屏幕 BufferedOutputStreambufout=newBufferedOutputStream(stdout);//提高输出效率 PrintStreamp=newPrintStream(System.out);//将结果输出至屏幕 try{ if(bufin.markSupported()){ p.println("支持串流标记:是");//使用PrintStream输出 p.println("输入字符串,结束请按【Enter】...\n"+"=>"); //使得流在第一个位被作上标记(mark),并且会保留256位(mark(256)) bufin.mark(256); //读取字节并存放在指定的数组中 count=bufin.read(input); p.println("读入字符数:"+count); p.print("你输入的字符串为:"); //写入流,只是将数据写入流中而已,并不输出数据 //所以在其后必须使用flush()函数将流中的数据强制输出 bufout.write(input,0,count); bufout.flush();//强制输出至指定的输出装置 bufin.reset();//将读取位置移至标记处,也就是流中的第一位 bufin.read(input,0,count); p.print("字符串的前半段:"); bufout.write(input,0,count/2); //相当于System.out.println(); bufout.write((int)('\n')); bufout.flush(); bufin.reset(); bufin.skip(count/2); bufin.read(input,0,count/2); p.print("字符串的后半段:"); bufout.write(input,0,count/2); bufout.flush(); }else{ System.out.println("字符串流标记:否"); } //关闭流 p.close(); stdin.close(); bufin.close(); stdout.close(); bufout.close(); }catch(IOExceptionE){ System.out.println("发生I/O错误!!!"); } } } //其实我们对PrintStream类应该很熟悉才对,System.out就是一个PrintStream类对象,其提供的print()和println()函数 //几乎可显示所有数据类型的变量
//例程2:packageiotest; importjava.io.FileNotFoundException; importjava.io.FileOutputStream; importjava.io.IOException; importjava.io.PrintStream; importjava.util.logging.Level; importjava.util.logging.Logger; publicclassIOtest{ publicstaticvoidmain(String[]args)throwsIOException{ bytebuf[]=newbyte[255]; bytebufin[]=newbyte[255];//只能用byte格式将数据送入文件 Stringstr="输入的文字:"; buf=str.getBytes(); try{ FileOutputStreamfout=newFileOutputStream("test.txt"); PrintStreamp=newPrintStream(fout); p.println("输入的文字~~~~~~~"+'\n');//方式一 fout.write(buf,0,buf.length);//方式二 fout.write(buf);//方式三 //fout.flush(); //fout.close(); System.out.println("快输入文字:"); intbytes=System.in.read(bufin,0,255); //追加文本!!!!!!!!!!!!!!!! //fout=newFileOutputStream("test.txt",true); fout.write(bufin,0,bytes); }catch(FileNotFoundExceptionex){ Logger.getLogger(IOtest.class.getName()).log(Level.SEVERE,null,ex); } } }
结果:
//输入的文字~~~~~~~ //输入的文字:输入的文字:鍩庡競宸ヤ笟fdsfdssssssssssssssssssssssssssss
总结
以上就是本文关于Java流操作之数据流实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!