java.io.BufferedInputStream.mark()方法实例_wuxiaopengnihao1的博客-程序员秘密

技术标签: java  android  开发语言  

java.io.BufferedInputStream.mark(int) 方法通过设置int值的字节之前,标记现在的位置为无效读取。

更多教程请访问http://www.manongzj.com

声明

以下是java.io.BufferedInputStream.mark()方法的声明

public void mark(int readlimit)

参数

  • readLimit -- 在标记位置变得无效之前的被读取的字节数。

返回值

此方法不返回任何值。

异常

  • NA

例子

下面的示例演示java.io.BufferedInputStream.mark()方法的用法。

package com.yiibai;

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

public class BufferedInputStreamDemo {
   public static void main(String[] args) throws Exception {
      
      InputStream iStream = null;
      BufferedInputStream bis = null;
      
      try{
         
         // read from file c:/test.txt to input stream        
         iStream = new FileInputStream("c:/test.txt");
         
         // input stream converted to buffered input stream
         bis = new BufferedInputStream(iStream);
         
         // read and print characters one by one
         System.out.println("Char : "+(char)bis.read());
         System.out.println("Char : "+(char)bis.read());
         System.out.println("Char : "+(char)bis.read());
         
         // mark is set on the input stream
         bis.mark(0);
         System.out.println("Char : "+(char)bis.read());
         System.out.println("reset() invoked");
         
         // reset is called
         bis.reset();
         
         // read and print characters
         System.out.println("char : "+(char)bis.read());
         System.out.println("char : "+(char)bis.read());

      }catch(Exception e){
         e.printStackTrace();
      }finally{
      
         // releases any system resources associated with the stream
         if(iStream!=null)
            iStream.close();
         if(bis!=null)
            bis.close();   
      }
   }
}

假设有一个文本文件c:/ test.txt的,它具有以下内容。该文件将被用作输入在示例程序:

ABCDE 

让我们来编译和运行上面的程序,这将产生以下结果:

Char : A
Char : B
Char : C
Char : D
reset() invoked
char : D
char : E
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wuxiaopengnihao1/article/details/122547334

智能推荐

Apache Flink 技术解读之分布式运行时环境_言则yanze的博客-程序员秘密

本文基于 Apache Flink 1.3 版本官方文档翻译。任务与运算符链接在实际的分布式计算环境中,Flink 会将多个运算子任务链接到分布式计算任务中。每个线程执行一个计算任务。将运算符链接到计算任务中对于系统性能的提升有很大的帮助:它降低了线程间切换与缓冲的开销,并且在降低延时的同时减少了系统的总体吞吐量。可以对这种链接操作进行配置,具体内容请参考链接文档。如下图所示的数据流图包含...

Centos搭建PXE,安装部署操作系统centos+ubuntu_付豪之家的博客-程序员秘密

Centos搭建PXE,安装部署操作系统一.原理:1.什么是PXE:PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file tran...

任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,求差值最小的一组_小 琛的博客-程序员秘密_任意一个偶数都可以由两个素数组成

作者:小 琛欢迎转载,请标明出处任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对输入描述:输入一个偶数输出描述:输出两个素数示例1输入:20输出:7 13思路分析分为几个模块编写,首先写一个函数实现判断该数是否为素数。从该数的中间数开始查找,定义两个临时变量,一个向该数的左(小)方向,一个向该数的右(大)方向,每次让两个变量加一和减一(保证和为该数),当第一组满足两个数都为素数时,即为答案int

vue+springBoot下载压缩包_一个90后的博客-程序员秘密

前端代码://1. 响应下载的输出流 fileDown(detail.caseId).then(response => { const aLink =document.createElement('a') const blob = new Blob([response], { type: 'application/zip' }) let fileName =`${detail.caseId}` a

复习C语言系列三:sscanf_s, _sscanf_s_l, swscanf_s, _swscanf_s_l_战狼之羊的博客-程序员秘密

int sscanf_s( const char *buffer, const char *format [, argument ] ...);int _sscanf_s_l( const char *buffer, const char *format, locale_t locale [, argument ] ...);int swscanf

大数据架构_bingoabin的博客-程序员秘密_大数据架构

大数据常用的架构随着多年的大数据的技术发展和积累,越来越多的人发现各个公司所使用的大数据技术大致可以分为两大类,分别是离线处理技术和实时处理技术,要么个别公司只有离线处理技术,要么个别公司只有实时处理技术,但是绝大部分公司基本上都是两种技术架构都带着一起在做,以为我们的业务lambda架构基本介绍业务系统基本流程介绍lambda架构基本介绍lambda架构最早是由storm的创始人,Nathan Marz进行提出并描述了我们目前所了解的lambda架构,其实lamda架构先入为主,已经适用在了绝

随便推点

ABB机器人走profinet通讯_jqrbcts的博客-程序员秘密_abb机器人通讯

经常遇到ABB需要走profinet通讯,通常不知道怎么下手,那么怎么通讯,接下来看一看,需要机器人配置,和plc配置,需要plc创建新项目,点击创建,设置好后我们需要查找机器人的gsd文件,关于机器人如何查看gsd文件,后续会持续更新,喜欢的点个赞,收藏一下,在这里谢谢大家,写的不好希望指教,好了我们开始。要把机器人GSD文件导入plc,点击选项选择管理通用站描述文件回车点击安装路径选择安装就好了接下操作机器人就可以了控制面板-配置-主题-Communication

美团集群调度系统的云原生实践_美团技术团队的博客-程序员秘密_集群调度系统

总第487篇2022年 第004篇本文介绍了美团在如何解决大规模集群管理的难题、设计优秀且合理的集群调度系统方面的实践,阐述了美团在落地以Kubernetes为代表的云原生技术时,比较关心...

[Qt] QProcess::startDetached() 避免弹窗,或者窗口一闪而过_weixin_30497527的博客-程序员秘密

主动宣告setProcessState(QProcess::NotRunning)或者在堆上new一个QProcess。出处:https://stackoverflow.com/questions/33874243/qprocessstartdetached-but-hide-console-windowI had exactly the same proble...

Oracle-三个不同id的结果表合并到一张表里,每个表的结果是单独一个列_hello_StayWithMe的博客-程序员秘密

三个不同id的结果表合并到一张表里,每个表的结果是单独一个列:1.首先,创建三张表create table t1(t_id varchar2(20),t_name varchar(20));insert into t1(t_id,t_name) values(1,'对');insert into t1(t_id,t_name) values(2,'对');insert into t...

DEM快速部署主备集群_帅ちいさい宝的博客-程序员秘密

2.3 DEM快速部署主备集群2.3.1 引言平时凭借传统部署手段(准备dmmal,dmarch,dmwatcher,dmmonitor参数文件,并且里面的参数众多,记忆有限,对自己来说顾名思义即可),操作步骤繁琐。倘若让我们批量部署主备集群,因节点数据量多,参数多,也因枯燥重复的步骤,往往令人恼火,犯一些小错误,导致不可轻易发现的小问题,耗时巨久。故此处引入DEM工具快速便捷部署主备集群的案例。2.3.2 集群前期规划2.3.2.1 IP规划2.3.2.2 端口规划2.3.2.3 存

UVA 129_bahuan1974的博客-程序员秘密

dfs回溯。判断后缀很重要。/*InputEach input line contains integers n and L (in that order), where n > 0 and L is in the range 1 ≤ L ≤ 26.Input is terminated by a line containing two zer...

推荐文章

热门文章

相关标签