流式输入/输出 示例

原创 2006年06月26日 08:30:00

/*

wc( )方法对任何输入流进行操作并且计算字符数,行数和字数。它在lastNotWhite里追踪字数的奇偶和空格。当在没有参数的情况下执行时,WordCount以System.in为源流生成一个InputStreamReader对象。该流然后被传递到实际计数的 wc( )方法。当在有一个或多个参数的情况下执行时,WordCount 假设这些文件名存在并给每一个文件创建FileReader,传递保存结果的FileReader对象给wc( ) 方法。两种情况下,在退出之前都打印结果。

*/

//A word counting utility.
import java.io.*;
class WordCount{
 public static int intWords = 0;
 public static int intLines = 0;
 public static int intChars = 0;
 public static void wc(InputStreamReader isr) throws IOException{
  int c = 0;
  boolean lastWhite = true;
  String whiteSpace = "/t/n/r";
  while((c=isr.read())!=-1){
   //Count characters.
   intChars++;
   //Count lines.
   if(c=='/n'){
    intLines++;
   }
   //Count words by detecting the start of a word
   int intIndex = whiteSpace.indexOf(c);
   if(intIndex == -1){
    if(lastWhite == true){
     ++intWords;
    }
    lastWhite = false;
   }else{
    lastWhite = true;
   }
  }
  if(intChars !=0){
   ++intLines;
  }
 }
 public static void main(String[] args)
 {
  FileReader fr ;
  try{
   if(args.length ==0){
    //We're working with stdin
    wc(new InputStreamReader(System.in));
   }else{
    //We're working with a list of files.
    for(int i=0;i<args.length;i++){
     fr = new FileReader(args[i]);
     wc(fr);
    }
   }
  }catch(IOException e){
   return;
  }
  System.out.println(intLines + " " + intWords + " " + intChars);
 }
}

相关文章推荐

学习经验之 流式输入输出与文件处理-------InputStream(read篇)

(1)     从输入流读取数据的方法——read。只能逐字逐句地读取输入数据。 Public int read() (此方法每次执行都从输入流中读取下一个字节数据) 但是这个只可以输入数字...

bootstrap 流式布局示例

质量录入 rest/wx" method="post"> JA

HDFS的API调用,创建Maven工程,创建一个非Maven工程,HDFS客户端操作数据代码示例,文件方式操作和流式操作

1. HDFS的java操作hdfs在生产应用中主要是客户端的开发,其核心步骤是从hdfs提供的api中构造一个HDFS的访问客户端对象,然后通过该客户端对象操作(增删改查)HDFS上的文件1.1 搭...

“瀑布流式”图片懒加载代码示例

最近项目使用到了“懒加载”,现在更新一般,因为平时主要使移动端的开发所以库文件使用的是zepto.js 。当然也可以和jQuery 通用。代码如下:/** * Created by zhiqiang...

HttpURLConnection的流式输出的缺陷和解决方法

最近在用applet写文件上传控件的时候发现使用URLConnection来对服务器进行流式输出时的一些问题.我们通常要对服务器上的某个地址进行写流操作,那么我们一般的做法就是:  URLConn...
  • yaosizy
  • yaosizy
  • 2015年06月26日 10:44
  • 346

94K101-1 轴流式通风机安装图

  • 2017年07月10日 10:51
  • 524KB
  • 下载

RecyclerView流式布局

  • 2017年08月25日 14:33
  • 22.42MB
  • 下载

Citrix服务器虚拟化之三十 XenApp 6.5发布流式应用程序

Citrix服务器虚拟化之三十 XenApp 6.5发布流式应用程序   XenApp可发布以下类型的资源向用户提供信息访问,这些资源可在服务器或桌面上虚拟化: 1)  服务器桌面:发布场中服务...
  • kkfloat
  • kkfloat
  • 2013年08月31日 01:45
  • 8296

android自定义流式布局源码

  • 2015年05月05日 20:26
  • 1.37MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:流式输入/输出 示例
举报原因:
原因补充:

(最多只允许输入30个字)