欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java流操作之数据流实例代码

程序员文章站 2023-12-19 14:27:34
 实例1: package datainputstreamandprintstreamdemo; import java.io.bufferedin...

 实例1:

package datainputstreamandprintstreamdemo; 
import java.io.bufferedinputstream; 
import java.io.bufferedoutputstream; 
import java.io.datainputstream; 
import java.io.dataoutputstream; 
import java.io.ioexception; 
import java.io.printstream; 
//示范如何自键盘读入字符串,并使用datainputstream,printstream类将程序执行显示在屏幕(标准输出)上 
public class datainputstreamandprintstreamdemo { 
 public static void main(string[] args) { 
 int count; 
 byte input[] = new byte[256]; 
 string inputstring; 
 // 键盘读入 
 datainputstream stdin = new datainputstream(system.in); 
 //提高执行效率,几乎所有的inputstream类都可以被bufferedstream类包覆(wrap)来提高i/o效率 
 bufferedinputstream bufin = new bufferedinputstream(stdin); 
 // 屏幕输出 
 dataoutputstream stdout = new dataoutputstream(system.out);// 将结果输出至屏幕 
 bufferedoutputstream bufout = new bufferedoutputstream(stdout);// 提高输出效率 
 printstream p = new printstream(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 (ioexception e) { 
 system.out.println("发生i/o错误!!!"); 
 } 
 } 
} 
//其实我们对printstream类应该很熟悉才对,system.out就是一个printstream类对象,其提供的print()和println()函数 
//几乎可显示所有数据类型的变量 
//例程2:package iotest; 
 
import java.io.filenotfoundexception; 
import java.io.fileoutputstream; 
import java.io.ioexception; 
import java.io.printstream; 
import java.util.logging.level; 
import java.util.logging.logger; 
 
 
public class iotest { 
 
 public static void main(string[] args) throws ioexception { 
   
  byte buf[] = new byte[255]; 
  byte bufin[] = new byte[255];    //只能用byte格式将数据送入文件 
  string str = "输入的文字:"; 
  buf = str.getbytes(); 
  try { 
   fileoutputstream fout = new fileoutputstream("test.txt"); 
   printstream p = new printstream(fout); 
   p.println("输入的文字~~~~~~~"+'\n');  //方式一 
    fout.write(buf, 0, buf.length); //方式二 
    fout.write(buf);     //方式三 
    //fout.flush(); 
    //fout.close(); 
    system.out.println("快输入文字:"); 
    int bytes = system.in.read(bufin, 0, 255); 
        
    //追加文本!!!!!!!!!!!!!!!! 
    //fout = new fileoutputstream("test.txt",true); 
    fout.write(bufin, 0, bytes); 
  } catch (filenotfoundexception ex) { 
   logger.getlogger(iotest.class.getname()).log(level.severe, null, ex); 
  } 
   
 } 
  
} 

结果:

//输入的文字~~~~~~~ 
 
 
//输入的文字:输入的文字:鍩庡競宸ヤ笟 fdsfdssssssssssssssssssssssssssss 

总结

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

上一篇:

下一篇: