推回输入流

研究了一下,不是很明白在

package iodemo;


import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.PushbackInputStream;
//使用PushbackInputStream和其unread()方法来处理语言解析器关于处理“==”和“=”的区别。 
public class PushbackInputStreamDemo {




public static void main(String[] args) throws IOException{
 String s = "if (a == 4) a = 0;/n";
 byte buf[] = s.getBytes();//转换为字节
 for(int i =0;i System.out.println(buf[i]);
 }
 String str = "==";
 byte[] a = str.getBytes();
 ByteArrayInputStream in = new ByteArrayInputStream(buf);
 PushbackInputStream f = new PushbackInputStream(in);
 int c;
 while((c=f.read()) !=-1){
  switch(c){
   case '=':
   if((c=f.read())=='='){
    System.out.print(".eq.");
   }else{
    System.out.print("<-");
   // f.unread(c);
   }
   break;
   default:
   System.out.print((char)c);
   break;
  }
 }
}
}

你可能感兴趣的:(Java)