美文网首页
java i/o mark

java i/o mark

作者: CHEERW | 来源:发表于2018-01-10 09:53 被阅读0次

mark长度和缓存区大小中有一个大于文件大小都可以实现返回到mark 位置

实例:
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class BufferedStreamDemo {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    FileInputStream fInputStream =null ;
    FileOutputStream fOutputStream =null ;
    BufferedInputStream fBufferedInputStream =null;
    BufferedOutputStream fBufferedOutputStream = null;
    
    try {
        fInputStream =new FileInputStream("e:/io/a.txt");
        fOutputStream =new FileOutputStream("e:/io/b.txt");
        // 处理流的构造函数必须以一个流对象做参数
        fBufferedInputStream = new BufferedInputStream(fInputStream,5); // 缓冲区默认为32字节   如果发到32字节会自动清空缓冲区
        fBufferedOutputStream = new BufferedOutputStream(fOutputStream);
        
        int b;
        fBufferedInputStream.mark(15); // mark长度和缓存区大小中有一个大于文件大小都可以实现返回到mark 位置
        try {
            while((b = fBufferedInputStream.read()) !=-1){
                char c = (char) b;
                System.out.print(c+" ");
                fBufferedOutputStream.write(b);
            }
            System.out.println();
            fBufferedInputStream.reset();
            while((b = fBufferedInputStream.read()) !=-1){
                char c = (char) b;
                System.out.print(c+" ");
            }
            
            fBufferedOutputStream.flush();
            
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } finally { 
        
        try {
            
            // 关闭自动清空缓存区,数据保存
            fInputStream.close();
            fOutputStream.close();
            fBufferedInputStream.close();
            fBufferedOutputStream.close();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
    }
    
}

}

相关文章

  • java i/o mark

    mark长度和缓存区大小中有一个大于文件大小都可以实现返回到mark 位置 实例:import java.io.B...

  • 线上学习资料汇总_新

    1. Java I/O 这些年一直记不住的 Java I/O 深入分析 Java I/O 的工作机制 NIO 入门...

  • NIO.2-简介

    More New I/O Java 7 中的 More New I/O APIs,通过在 java.nio.cha...

  • Java & Groovy & Scala & Kotlin -

    Overview 文章介绍的 I/O 主要用于本地文件读写,不涉及网络 I/O。 Java 篇 Java 中的 I...

  • I/O

    Java I/O 总结 理解Java中字符流与字节流的区别 深入学习 Java 序列化 Java I/O 操作及优...

  • 知识总结:I/O模型基础

    I/O基础 1、java1.4之前,java对I/O支持不完善,存在以下问题: 没有数据缓冲区,I/O性能存在问题...

  • Netty 权威指南笔记(一):网络 I/O 模型和 Java

    Netty 权威指南笔记(一):网络 I/O 模型和 Java IO 入门 Java I/O 模型的实现离不开底层...

  • Java I/O

    Java I/O主要包括三个部分1.流式部分2.非流式部分3.其他类 1.字符流 字符流处理文本数据,在java中...

  • java I/O

    一.文件/文件夹File 二.InputStream/OutputStream字节输入输出流 三.关闭流的方式 四...

  • Java I/O

    如果当初陪着你的人走远了,那些日子回忆起来会模糊吗? mark 标记reset 重置exist 存在modifie...

网友评论

      本文标题:java i/o mark

      本文链接:https://www.haomeiwen.com/subject/ovlgnxtx.html