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

 更新时间:2018年01月06日 09:17:37   作者:sac761  
这篇文章主要介绍了Java流操作之数据流实例代码,具有一定借鉴价值,需要的朋友可以参考下

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

相关文章

  • SpringBoot实现数据加密脱敏的示例代码

    SpringBoot实现数据加密脱敏的示例代码

    这篇文章主要为大家学习介绍了SpringBoot如何利用注解+反射+AOP实现数据加密脱敏的功能,文中的示例代码讲解详细,需要的可以参考一下
    2023-08-08
  • SpringBoot调用service层的三种方法

    SpringBoot调用service层的三种方法

    在Spring Boot中,我们可以通过注入Service层对象来调用Service层的方法,Service层是业务逻辑的处理层,它通常包含了对数据的增删改查操作,本文给大家介绍了SpringBoot调用service层的三种方法,需要的朋友可以参考下
    2024-05-05
  • Spring配置使用之Bean生命周期详解

    Spring配置使用之Bean生命周期详解

    这篇文章主要介绍了Spring配置使用之Bean生命周期详解,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • springBoot定时任务处理类的实现代码

    springBoot定时任务处理类的实现代码

    这篇文章主要介绍了springBoot定时任务处理类,需要的朋友可以参考下
    2018-06-06
  • Java字节流和字符流及IO流的总结

    Java字节流和字符流及IO流的总结

    本文主要将Java中的IO流进行了梳理,通过将其分成字节流和字符流,以及输入流和输出流分别统计,来建立一个对 Java中IO流全局的概念,通过一些实例来演示了如何通过不同类型的流来组合实现强大灵活的输入和输出,最后介绍了同时支持输入和输出的 RandomAccessFile。
    2021-04-04
  • java中用数组实现环形队列的示例代码

    java中用数组实现环形队列的示例代码

    这篇文章主要介绍了java中用数组实现环形队列的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Spring SseEmitter推送消息及常用方法

    Spring SseEmitter推送消息及常用方法

    SseEmitter 是 Spring Framework 提供的用于支持 Server-Sent Events(SSE)的类,它允许服务器端向客户端推送事件流,实现服务器到客户端的单向通信,这篇文章主要介绍了Spring SseEmitter推送消息,需要的朋友可以参考下
    2024-07-07
  • mybatis spring配置SqlSessionTemplate的使用方式

    mybatis spring配置SqlSessionTemplate的使用方式

    这篇文章主要介绍了mybatis spring配置SqlSessionTemplate的使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Java设计模式以虹猫蓝兔的故事讲解桥接模式

    Java设计模式以虹猫蓝兔的故事讲解桥接模式

    桥接是用于把抽象化与实现化解耦,使二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响
    2022-04-04
  • mybatis in foreach 双层嵌套问题

    mybatis in foreach 双层嵌套问题

    这篇文章主要介绍了mybatis in foreach 双层嵌套问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03

最新评论