我的文件名是:
20050701.txt
20050702.txt
20050703.txt
20050704.txt
20050705.txt
20050706.txt
20050707.txt
第一个文件内容是:
ST:20050701 000011 TI:20050719 000011 CN:06 LT:10 PN:13099885853 DN:1015902210 AR:D KC:- RS:@!!!!!!!
ST:20050701 000011 TI:20050719 000032 CN:06 LT:90 PN:13099885853 DN:1015902210 AR:D KC:* RS:@!!!!!!!
第二个文件内容是:
ST:20050702 000011 TI:20050719 000011 CN:06 LT:10 PN:13099885853 DN:1015902210 AR:D KC:- RS:@!!!!!!!
ST:20050702 000011 TI:20050719 000032 CN:06 LT:90 PN:13099885853 DN:1015902210 AR:D KC:* RS:@!!!!!!!
依次类推
我想用JAVA输入文件名,再查出文件里是LT:90的文件,
(就是我输入:20050701  
能打印出:ST:20050701 000011 TI:20050719 000032 CN:06 LT:90 PN:13099885853 DN:1015902210 AR:D KC:* RS:@!!!!!!!  这一条)
(输入:20050702  
能打印出:ST:20050702 000011 TI:20050719 000032 CN:06 LT:90 PN:13099885853 DN:1015902210 AR:D KC:* RS:@!!!!!!!  这一条)希望高手能给出源码,谢谢

解决方案 »

  1.   

    import java.io.*;
    public class r
    {
    public static void main(String argv[])
    {
    r r1 = new r();
    if(argv.length>0)
    {
    for(int i=0;i<argv.length;i++)
    {
    r1.checkFile(argv[i]+".txt","LT:90");
    }
    return;
    }
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    while(true)
    {
    String fn = null;
    try
    {
    fn = br.readLine();
    }catch(Exception e){}
    if(fn == null || fn.length() == 0)
    return;
    r1.checkFile(fn+".txt","LT:90");
    }
    }
    protected void checkFile(String filename,String find)
    {
    if(filename == null || find == null)
    return;
    System.out.print("filename:"+filename);
    File f = new File(filename);
    if(!f.exists())
    {
    System.out.println("  does not exist");
    return;
    }
    System.out.println();
    BufferedReader br = null;
    try
    {
    br = new BufferedReader(new FileReader(f));
    String ln = null;
    do
    {
    ln = br.readLine();
    if(ln.indexOf(find) != -1)
    {
    System.out.println(ln);
    ln = br.readLine();
    if(ln != null)
    System.out.println(ln);
    }
    }while(ln != null);
    }catch(Exception e){}
    }
    }