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流操作之数据流实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!