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);
    				}
    			}
    		}
    	}
    
  • 相关阅读:
    C#_数据访问类查询 和 属性扩展
    C#_0913 完整修改删除、实体类和数据访问类
    webform基础
    TreeView, 数据导出
    无边框窗体,tiner控件
    容器,打印设置
    多窗体,菜单工具栏
    公共控件
    winform
    数据访问类查询
  • 原文地址:https://www.cnblogs.com/masterlibin/p/5635374.html
Copyright © 2011-2022 走看看