首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

java关于readline的应用

2012-12-25 
java关于readline的使用import java.io.BufferedReaderimport java.io.Fileimport java.io.FileNotFound

java关于readline的使用
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import java.util.Stack;

public class project2 {
public static void main(String args[]){
String a=null;
int i;
Stack<css> si=new Stack<css>();
File  aFile = new File("d:/a.txt");
try {
PrintWriter pw = new PrintWriter(aFile);
BufferedReader br=new BufferedReader(new FileReader("d:/Production.txt"));
css b;
a=br.readLine();
while(a!= null)
{
b=new css(a);
si.push(b);
a = br.readLine();
}
Iterator<css> it=si.iterator();
while(it.hasNext()){
css j=it.next();
pw.println(j.zuo+"->"+j.you);
j.print();
pw.flush();
}
pw.close();
br.close();
} catch (FileNotFoundException e) {
System.out.println("FileNotFoundException");
}
catch (IOException e) {
System.out.println("IOException");
}
}
}
public class css {
      String zuo;
      String you;
      css(String t)
      {
      if(t.indexOf("-")>=0)
      {
      zuo=t.substring(0, t.indexOf("-"));
      you=t.substring(t.indexOf(">")+1, t.length());
      }
      }
      boolean equal(css t)
      {
      if(t.zuo.equals(zuo)&&t.you.equals(you))
      {
      return true;
      }
      else
      {
      return false;
      }
      }
      void print()
      {
      System.out.println(zuo+"->"+you);
      }
      
}
其中d:/Production.txt文件存放的是
A -> aB
C -> sdfdf
为什么输出的是
A -> aB
C -> sdfdf
null->null
多了null->null。
我已经判断a!=null为什么
while(a!= null)
{
b=new css(a);
si.push(b);
a = br.readLine();
}
还执行了一次把空对象押入了???
[解决办法]
别的地方没看,只说这里:

a=br.readLine();
while(a!= null)
{

}

一行一行读取时,while循环不是这么写的

改成:

while((a = br.readLine())!= null)
{

}

热点排行