zoukankan      html  css  js  c++  java
  • 读取文件中某个字符串前面的内容,两种方法

    方法一:利用PushbackReader,默认有个长度为1的缓冲区,创建对象时需要指出缓冲区的大小。

    public static void function1(File f)throws IOException
    	{
    		try(PushbackReader pr = new PushbackReader(new FileReader(f), 64))
    		{
    			char[] cbuf = new char[32];
    			String lastContent = "";
    			String content = "";
    			int hasRead = 0;
    			while((hasRead = pr.read(cbuf)) > 0)
    			{
    				content = new String(cbuf, 0, hasRead);
    				int target = (lastContent + content).indexOf("new PushbackReader");
    				if(target > 0)
    				{
    					pr.unread((lastContent + content).toCharArray());
    					if(target > 32)
    					{
    						cbuf = new char[target];
    						pr.read(cbuf, 0, target);
    						System.out.println(new String(cbuf, 0, target));
    						break;
    					}
    				}
    				else
    				{
    					System.out.print(lastContent);
    					lastContent = content;
    				}
    			}
    		}
    	}
    

     方法二:利用BufferedReader,这个类有一个readline方法,可以一行一行读取文本,这个方法相对简单。

    public static void function2(File f)throws IOException
    	{
    		try(BufferedReader br = new BufferedReader(new FileReader(f)))
    		{
    			String line = "";
    			int target = 0;
    			while((line = br.readLine())!=null)
    			{
    				if((target = line.indexOf("new BufferedReader") )> 0)
    				{
    					System.out.println(line.substring(0, target));
    					break;
    				}
    				else
    				{
    					System.out.println(line);
    				}
    			}
    		}
    	}
    
  • 相关阅读:
    echarts数据包坐标拾取工具
    JS 多个条件判断
    js 实现各浏览器全屏
    前端统计使用插件
    JS 随机排序算法
    js中布尔值为false的六种情况
    Mosaic
    单点登录
    JavaScript数据结构和算法
    一个普通函数的冷僻属性(length、caller、arguments、name、[[Scopes]]和[[FunctionLocation]])
  • 原文地址:https://www.cnblogs.com/masterlibin/p/5635374.html
Copyright © 2011-2022 走看看