无法使用bufferdreader或datainputstream(get EOFexception)读取文件?

时间:2018-10-23 16:48:09

标签: java

使用bufferedReader时,我是java.java中的初学者 到达readLine方法时,程序冻结。 使用DatainputStream时,readUTF方法会立即引发EOF异常,而无需读取任何行(该文件确实具有内容)。 这是我的代码:

public DataInputStream read(){
 try {
DataInputStream din=new DataInputStream(new BufferedInputStream(new FileInputStream(getChosenFile())));
return din;
}
 catch(IOException e) {
     e.printStackTrace();
     System.exit(0);
 }
 return null;
}
 public void regexCheck(String regex,String FileStr,int line) {
   Pattern check=Pattern.compile(regex);
 Matcher   regMatcher=check.matcher(FileStr);
 while(regMatcher.find())
 {
     if(regMatcher.group().length()!=0) {
        ar.append(regMatcher.group()+"  "+line+"\n");
     }

  }
  }
  public void reader(String regex) {
 int line=0;
boolean eof=false;
 String c;
 try {
 while(!eof)
 {
     line++;
     c=read().readUTF();

    regexCheck(regex,c,line);
 }
read().close();
 }
 catch(EOFException e) {
    eof=true;
 }
 catch(FileNotFoundException e) {
     e.printStackTrace();
     System.exit(0);
 }
 catch(IOException e) {
     e.printStackTrace();
     System.exit(0);
 }


 }
 }

0 个答案:

没有答案