读书人

P312 实例14.15 PushbackStreamDemo.j

发布时间: 2012-08-27 21:21:56 作者: rapoo

P312 范例14.15 PushbackStreamDemo.java?

package onlyfun.caterpillar; import java.io.*;  public class PushbackStreamDemo {    public static void main(String[] args) {        try {             PushbackInputStream pushbackInputStream =                 new PushbackInputStream(                          new FileInputStream(args[0]));             byte[] array = new byte[2];             int tmp = 0;             int count = 0;             while((count = pushbackInputStream.read(array))                                             != -1) {               // 两个字节转换为整数                 tmp = (short)((array[0] << 8) |                       (array[1] & 0xff)); // 没看懂                tmp = tmp & 0xFFFF; // 没看懂                  // 判断是否为BIG5,如果是则显示BIG5中文字                if(tmp >= 0xA440 && tmp < 0xFFFF) {                    System.out.println("BIG5: " +                              new String(array));                }                 else {                    // 将第二个字节推回流                     pushbackInputStream.unread(array, 1, 1);                     // 显示ASCII范围的字符                    System.out.println("ASCII: " +                             (char)array[0]);                 }             }              pushbackInputStream.close();         }         catch(ArrayIndexOutOfBoundsException e) {            System.out.println("请指定文件名称");        }        catch(IOException e) {             e.printStackTrace();         }     }}

?

读书人网 >编程

热点推荐