日期:2014-05-20  浏览次数:20705 次

java 读取字符串 遇到某一字符串才开始 遇到某一字符串就结束
现在要写一个方法 读取文件 
遇到某一字符串才开始 遇到某一字符串就结束
例如一个文件
ee
dd
ff
cc
AAA
lll
kkk
BBB
uuu
yyyy
在文件中整行的读入 在读到“AAA”时 ,开始记录 打印“AAA”以后的内容
在读到“BBB”时结束 继续其他操作 这样应该怎么写
最好给一个代码例子

------解决方案--------------------
Java code

//类似于此
    public static void main(String[] args) throws Exception {
        BufferedReader reader = new BufferedReader(new FileReader("D:\\workspace\\test\\src\\test.txt"));
        boolean start = false;
        StringBuilder sb = new StringBuilder();
        while(true){
            String line = reader.readLine();
            if(line == null) break;
            if(!start){
                if(line.indexOf("AAA") != -1){
                    line = line.substring(line.indexOf("AAA"));
                    sb.append(line).append("\n");
                    start = true;
                    continue;
                }
            }else{
                if(line.indexOf("BBB") != -1){
                    line = line.substring(0, line.indexOf("BBB") + "BBB".length());
                    sb.append(line).append("\n");
                    start = false;
                    break;
                }else{
                    sb.append(line).append("\n");
                }
            }
        }
        System.out.println(sb.toString());
    }

------解决方案--------------------
import java.io.*;
public class Demo1 {
public static String read()
{
FileReader fr=null;
BufferedReader br=null;
try
{
fr=new FileReader("d://Demo.txt");
br=new BufferedReader(fr);
String s="";
StringBuffer str =new StringBuffer();
while((s=br.readLine())!=null)
{
if(s.equals("AAA"))
{
while(!s.equals("BBB"))
{

str.append(s+"\r\n");
s=br.readLine();
}
return str.append("BBB").toString();
}
}

}
catch(Exception e)
{
e.getStackTrace();
}
finally
{
try
{
br.close();
fr.close();
}
catch(Exception e)
{
e.getStackTrace();
}
}
return null;
}
public static void main(String[] args) {
String s=read();
System.out.println(s);

}

}