Java利用PushbackReader实现返回对文本中的指定字符串之前的内容

import java.io.FileReader;
import java.io.PushbackReader;

public class PushbackTest {
    public static void main(String[] args) {
        try(PushbackReader pr = new PushbackReader(new FileReader("src/com/ming/test/PushbackTest.java"),64)){
            char [] buf = new char[32];
            String lastContent = "";
            int hasRead = 0;
            while((hasRead = pr.read(buf)) > 0){
                String content = new String(buf,0,hasRead);
                int targetIndex = 0;
                if((targetIndex = (lastContent + content).indexOf("new PushbackReader")) > 0){
                    pr.unread((lastContent + content).toCharArray());
                    char tmp[] = new char[targetIndex];
                    pr.read(tmp,0,targetIndex);
                    System.out.print(new String(tmp,0,targetIndex));
                    System.exit(0);
                }else{
                    System.out.print(lastContent);
                    lastContent = content;
                }
            }
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}
输出
package com.ming.test;

import java.io.FileReader;
import java.io.PushbackReader;

public class PushbackTest {
    public static void main(String[] args) {
        try(PushbackReader pr = 

原文地址:https://www.cnblogs.com/chiweiming/p/11875753.html

时间: 2024-07-31 14:24:14

Java利用PushbackReader实现返回对文本中的指定字符串之前的内容的相关文章

Sed替换文本中的指定内容

可以这样做:方法1:sed -i 's/被替换的内容/要替换成的内容/' file 方法2:sed 's/被替换的内容/要替换成的内容/g' file > file.outmv file.out file 这里注意:不能这样做:sed 's/被替换的内容/要替换成的内容/g' file > file这样只会清空源文件. Sed替换文本中的指定内容,布布扣,bubuko.com

String的两个API,判断指定字符串是否包含另一字符串,在字符串中删除指定字符串。

// 在字符串中删除指定字符串. String phoneNum="1795112345"; phoneNum = phoneNum.replace("17951", ""); System.out.println(phoneNum); //判断指定字符串是否包含另一字符串 String phoneNum="1795112345"; String IpNum="17951"; return phoneNum

在一个字符串中截取指定字符串,域名截取,尝试截取不同网址的域名?

/** * 在一个字符串中截取指定字符串,域名截取,尝试截取不同网址的域名? *比如www.163.com,www.sohu.com.cn * 字符串截取就需要用subString() * 索引的位置,这里需要找第一个"."作为每次域名的开始索引,然后找下一个("."+1)作为结束位置 * 第一个点好找,indexOf搞定,第二点,用indexOf(".",之前的"."+1)找到 */ public class StringD

涛哥的Python脚本工具箱之批量替换目录所有指定扩展名的文件中的指定字符串

今天发布刚完成的涛哥的Python脚本工具箱之批量替换目录所有指定扩展名的文件中的指定字符串,命令行参数处理改用目前比较好用的argparse库,Python代码如下: #!/usr/bin/python2.7 # -*- encoding: UTF-8 -*- # Copyright 2014 [email protected] """replace old string with new string from all files in path 批量替换目录所有指定扩展

如何多次提取字符串中的指定字符串

例如:从数据中获取content字符串,这个content用于前台html的显示,content中包含多个<img src="_IIMMGG_2156537">,_IIMMGG_后面的数字是imageid,每个img标签的id各不相同,如何获取content中各_IIMMGG_后面的imageid呢? --解决方案 string tmp = this.m_PropContent; Regex RX = new Regex(@"_IIMMGG_\-?\d+"

Java遍历文件夹下所有文件并替换指定字符串

应用场景:比如有一个深层次的文件目录结构,如:javaAPI 每个文件里面都有相同的内容,而我们要统一修改为其他内容.上千个文件如果一个个修改显得太不明智. import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.io.PrintWriter; public class Test { /** *

从第一个字符串中删除指定字符串

demo: //删除str1中与str2相同的字母 var str1='stay hungry stay foolish'; var str2='she'; ------------------1正则replace()------------------------- ------------------2字符串的split和数组的join------------ for(var i=0;i<str2.length;i++){ str1=str1.split(str2[i]) .join('')

replace删除字符串中的指定字符串

场景: EPR 数据库SQLSERVER 2008R2, BI: PENTAHO,MYSQL 应用: PENTAHO PRD抓取数据发布到平台显示,PRD预览正常,但是BI平台运行报表出现错误: Caused by: java.sql.SQLException: Invalid length parameter passed to the LEFT or SUBSTRING function. 解决方法: 1.SUBSTRING(FBigText, 1 , CHARINDEX('...', FB

SQL 替换指定列中的指定字符串

Update 表名 Set 列名 = Replace(列名,‘被替换的字符’,‘要替换的字符’) Demo: UPDATE BPM_DailySET Workstation = REPLACE(Workstation, '_', '-')