`

流式输入/输出 示例

    博客分类:
  • Java
阅读更多

/*

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);
 }
}

0
0
分享到:
评论

相关推荐

    java i/o包流式输入输出和文件操作

    Java I/O 包是Java平台的核心部分,它提供了丰富的类和接口用于处理输入输出操作,包括文件操作和流式输入输出。在这个主题中,我们将深入探讨如何使用Java进行文件管理和流处理。 首先,我们来看看`java.io`包中的...

    java输入输出流 流式输入与输出

    【Java输入输出流详解】 Java输入输出流(Input/Output Stream)是Java平台核心API的重要组成部分,主要用于处理数据的输入和输出。Java的I/O机制是基于流的,即数据以流的形式从一个地方传输到另一个地方。Java的I...

    JAVA程序设计:第14章 Java流式IO编程.ppt

    Java流式IO编程的基本原理是:将不同的输入/输出源抽象表述为“流”,然后使用流类型(类或抽象类)来实现输入/输出功能。Java中有两种基本的流类型:字节流和字符流。 字节流是以字节为单位的流,用于处理二进制...

    Android中Socket的应用分析

    一旦连接建立,双方就可以通过输入/输出流进行数据交换。当通信结束时,关闭Socket和相关的输入/输出流资源。 **Android中Socket的实现步骤** 1. **服务器端** - 创建ServerSocket对象,指定监听的端口号。 - ...

    ChatGP Java 基于SpringBoot的后端web学习项目,支持OpenAI官方所有接口 无限轮聊天 + 带上下文逻辑

    流式输出 / 普通输出 多会话 + 记录存储 + 记录管理(新增/清空/删除) 数据导出 语音聊天 + 语音播放 接入文生图模型(MidJourney / Stable Diffusion Model) PDF智能阅读(论文 / 简历 / 知识文档等) 接...

    字符串和格式化输入输出.zip

    在项目实践中,"day05"可能代表课程的第五天,涵盖了一些具体的字符串和格式化输入输出的示例。`.VC.db`是Visual Studio的数据库文件,用于跟踪项目信息;`.vs`目录包含了Visual Studio的工作空间配置;`Debug`目录...

    EPICS-Device-Driver-Software-Standardization (1).pdf

    例如,Modbus协议就常用于流设备,通过定义输入和输出终止符来处理数据包的边界。 2. Asyn Port Drivers:Asyn(异步)端口驱动程序是EPICS中的关键组件,它提供了一种通用的、可扩展的接口,支持TCP/IP、UDP/IP、...

    JAVA语言学习课件

    Java语言学习课件中,重点讲解的是Java的流式I/O编程。在Java中,为了进行数据的输入/输出操作,引入了“流”的概念,流是连接输入/输出源...通过不断地练习和实践,开发者可以更加灵活地处理各种数据输入输出需求。

    c_c++库函数帮助手册

    此外,C++还提供了iostream库用于流式输入/输出,如std::cin和std::cout。 在《C/C++库函数帮助手册》中,你可以找到每一个库函数的详细描述,包括函数原型、参数说明、返回值以及可能出现的错误情况。这些信息对于...

    v4l2.pdf 中文手册(规范)

    本篇文档将重点介绍V4L2 API中文手册中的关键知识点,特别是第三章关于输入/输出方法的部分。 #### 二、V4L2 API概述 V4L2 API为视频采集设备提供了一套完整的接口规范,它定义了一系列函数和数据结构,使得开发者...

    常用的c++头文件大全.docx

    - `#include &lt;iostream&gt;`:这是C++标准库中的输入输出头文件,提供了`std::cin`和`std::cout`对象,用于流式输入输出。在C++11及以后的版本中,推荐使用`&lt;iostream&gt;`而不是`&lt;iostream.h&gt;`。 2. **参数化输入/输出*...

    261个c程式范例的光碟 (io)

    标题中的“261个C程式范例的光碟 (io)”表明这是一份包含大量C语言编程示例的资源,主要关注输入/输出(I/O)操作。在C语言中,I/O操作是程序与用户交互的基础,包括读取用户输入和向屏幕或文件输出信息。这些范例可能...

    推荐课程 完整版优质java教程 java精品教学课件 Java语言程序设计 第10章 输入与输出(共38页).ppt

    这些类主要用于实现流式输入输出,其中,流是数据在计算机与外设之间传输的序列。流可以分为两大类:位流(字节流)和字符流,分别对应InputStream和OutputStream接口及其子类。字节流处理单个字节的数据,字符流则...

    wxh c++输入输出 .rar

    这两个对象都是`istream`和`ostream`类的实例,它们分别继承自`istreambase`和`ostreambase`,提供了流式输入输出的接口。 1. **基本的输入输出操作:** - `std::cin`:你可以使用`cin`来读取用户输入的数据。例如...

    C 语言库函数使用手册

    流式I/O提供了一种通用的方式来处理数据输入输出。 6. 格式化输入/输出:`fprintf`和`scanf`的变体,允许在文件或缓冲区中进行格式化输入输出。 7. 错误处理和诊断:`errno`全局变量保存错误代码,`perror`将错误...

    基于C++,写一个计算求和的函数模板,用户从键盘输入若干整数,以-1为结束标志,实现对用户输入的值进行求和,并返回求和结果

    在C++编程中,函数模板是一种非常强大的工具,它允许我们编写可以处理多种数据类型的通用函数。...通过实践这个项目,你可以更好地理解C++的泛型编程和流式输入输出,这些都是现代C++开发中的核心技能。

    VS2010输出一个文件

    首先,我们需要包含必要的头文件,`fstream`头文件提供了输入/输出流类,用于处理文件操作。在程序中,我们主要会用到`ofstream`类,它代表输出文件流,可以将数据写入文件。 ```cpp #include ``` 接下来,我们...

    C语言标准函数库(含C++)

    1. 输入/输出:`printf`和`scanf`是C语言中最常用的I/O函数,用于格式化输出和输入。还有`fopen`、`fclose`等函数用于文件操作。 2. 数学运算:`math.h`头文件提供了各种数学函数,如平方根`sqrt`、指数`exp`、对数...

    JAVA8新特性各种用法详解

    `Function, R&gt;`接口定义了一个方法`apply`,用于将输入参数转换为另一个类型的输出。此外,`Function`接口也支持链式调用。 示例代码: ```java Function, Integer&gt; toInteger = Integer::valueOf; Function, ...

    v4l2 中文手册

    本章节介绍了输入输出操作的相关知识,包括传统的读写操作、流式I/O操作、异步I/O操作、缓冲区的使用以及时码和字段顺序的处理。流式I/O操作又分为内存映射缓冲区和用户空间缓冲区两种方式,每种方式都有自己的特点...

Global site tag (gtag.js) - Google Analytics