| 网站首页 | JAVA文章 | AppServers | Web开发 | 应用开发 | 资源下载 |
    想学好编程,学好外语很重要  [enadd  2006年12月25日]        
设为首页 加入收藏 联系站长
您现在的位置: 编程笔记网 >> JAVA文章 >> JAVA实例 >> 文章正文
PushbackInputStream流使用实例        【字体:
PushbackInputStream流使用实例
作者:-    文章来源:-    点击数:    更新时间:2006-7-18

 import java.io.PushbackInputStream;
import java.io.IOException;
import java.util.Vector;
class PushbackTest{
    
 public static void main(String[] args) {
         Vector vec = new Vector();
  //在标准输入之上构造一个PushbackInputStream
         PushbackInputStream pushin = new PushbackInputStream(System.in);
         boolean eof;
         while (true) { 
              readNumber(pushin, vec);
                 
              readString(pushin, vec);
                 
              System.out.println(vec);
         }
         //System.out.println(vec);
     }

      
     private static boolean readNumber(PushbackInputStream in, Vector vec)
     {
         StringBuffer sb = new StringBuffer();
         int c = -1;
         // 读数字
         try {
              //累加数字
     for (c = in.read(); c >= 0; c = in.read()) {
                  if (Character.isDigit((char)c)) {
                       sb.append((char)c);
                  }
                  else {
                       //如果不是数字,指针退回该字符
        in.unread(c);
                       break;
                  }
              }
         }
         catch (IOException e) {}
       
         if (sb.length() > 0)
             vec.addElement(Integer.valueOf(sb.toString()));
         return (c == -1);
     }
     
     private static boolean readString(PushbackInputStream in, Vector vec)
     {
         StringBuffer sb = new StringBuffer();
         int c = -1;
         try {
              for (c = in.read(); c >= 0; c = in.read()) {
                  //如果是数字,反悔并退出
      if (Character.isDigit((char)c)) {
                       in.unread(c);
                       break;
                  }
                  //如果是空格,退出
      else if (Character.isWhitespace((char )c))
                      break;
                  //添加字串
      else
                       sb.append((char)c);
              }
         }
         catch (IOException e) {}
         vec.addElement(sb.toString());
         return (c == -1);
     }
}

[1] [2] [3] 下一页  

文章录入:enadd    责任编辑:enadd 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
  • JROCKIT 5.0优化内存方法

  • java时间函数

  • JDBC中获取数据表的信息

  • JDBC 4.0规范之目标

  • JAVA操作数据库方式与设计模…

  • 提升JSP应用程序的七大绝招

  • 用Java3D 做的3D粒子特效

  • JAVA类RandomAccessFile应用…

  • 使用RandomAccessFile读写一…

  • IP地址封装对象应用实例

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 |