`
dtr1988
  • 浏览: 44033 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Reader 与 inputStream

 
阅读更多
统计a.txt文件的字节数和字符数
import java.io.*;

public class TestIO {
	public static void main(String[] args) {
		try {
			
			/**
			 * a.txt内容(两行)
			 * aab
			 * 我我你
			 */
			FileReader fr = new FileReader("f:/a.txt");
			FileInputStream fis = new FileInputStream("f:/a.txt");
			int zifuCount = 0;  //字符数统计
			int zijieCount = 0;  //字节数统计
			int b = 0;
			while ((b = fr.read()) != -1) {
				System.out.print((char) b);
				System.out.print("(unicode值:"+b+")");
				zifuCount++;
			}
			System.out.println();
			System.out.println("文件有 " + zifuCount + " 个字符"); //加回车和换行8个
			System.out.println();
			
			while ((b = fis.read()) != -1) {
				System.out.print((char) b);
				System.out.print("(unicode值:"+b+")");
				zijieCount++;
			}
			
			System.out.println();
			System.out.println("文件有 " + zijieCount + " 个字节"); //加回车和换行11个,中文占两个字节
			
			fr.close();
			fis.close();
		} catch (IOException e1) {
			System.out.println("文件读取错误");
			System.exit(-1);
		}
	}
}




输出结果:

a(unicode值:97)a(unicode值:97)b(unicode值:98)
(unicode值:13)
(unicode值:10)我(unicode值:25105)我(unicode值:25105)你(unicode值:20320)
文件有 8 个字符

a(unicode值:97)a(unicode值:97)b(unicode值:98)
(unicode值:13)
(unicode值:10)?(unicode值:206)?(unicode值:210)?(unicode值:206)?(unicode值:210)?(unicode值:196)?(unicode值:227)
文件有 11 个字节

分享到:
评论

相关推荐

    java.io.Reader 和 java.io.InputStream 的区别

    ### Java.io.Reader与Java.io.InputStream的关键差异解析 在深入探讨`java.io.Reader`与`java.io.InputStream`的具体差异之前,我们首先需要理解这两者在Java I/O操作中的基础角色。`java.io.Reader`和`java.io....

    java 文件存储 Inputstream outputstream reader writer的用法

    `InputStream`、`OutputStream`、`Reader`和`Writer`是Java IO流的基础类,它们提供了读写文件的基本接口。本篇文章将深入讲解这些类的用法,并提供实际的代码示例,帮助初学者更好地理解和应用。 1. `InputStream`...

    经典的Java面试题及回答集锦(基础篇)

    5. **Reader与InputStream** - Reader处理字符流,例如char和String,而InputStream处理字节流,如byte数组。 6. **hashCode的作用** - 主要用于哈希表(如HashMap)中快速查找。相等的对象必须具有相同的...

    java面试题及答案.docx

    7. **Reader与InputStream的区别**: Reader处理字符流,适合读取字符数据,如文本文件;InputStream处理字节流,适用于二进制数据,如图片或音频文件。 8. **HashMap中作为key的对象要求**: 作为HashMap的key,...

    阿里巴巴java电话面试整理.doc

    12. **Reader与InputStream的区别**: - Reader处理字符流,主要用于读取Unicode字符。 - InputStream处理字节流,可用于读取ASCII字符和二进制数据。 13. **equals与==的区别**: - `==`比较基本类型值是否相等...

    CSV-Parsing:使用InputStream类解析csv文件

    2. **创建Reader**:为了读取文本内容,我们需要将`InputStream`转换为`Reader`。可以使用`InputStreamReader`实现,指定适当的字符编码,如UTF-8: ```java InputStreamReader isr = new InputStreamReader(bis, ...

    IO流文档InputStream / OutputStream

    IO流是Java中的一种基本的数据交换方式,通过InputStream和OutputStream可以实现数据的读取和写入,而Reader和Writer可以实现字符流的读取和写入。IO流的知识点很多,需要认真学习和掌握。 InputStream的类型: * ...

    InputStreamReader 和FileReader的区别及InputStream和Reader的区别

    InputStreamReader属于Reader类的子类,主要用于处理字符流,它充当字节流(如InputStream)与字符流之间的桥梁。在处理非ASCII编码的数据时,InputStreamReader允许指定字符编码,如果不指定,它会使用操作系统的...

    java_csvReader

    这两个类也可以设计成具有通用性,可以接受不同的文件路径,或者直接操作`InputStream`和`OutputStream`,以适应各种场景。 总的来说,理解和使用`CsvReader.java`和`CsvWriter.java`需要掌握Java的文件I/O操作、...

    JAVA程序员笔试面试题汇总及答案.pdf

    Reader 和 InputStream 都是 JAVA 中的输入流,但它们有着不同的特点。Reader 用于读入 16 位字符,也就是 Unicode 编码的字符,而 InputStream 用于读入 ASCII 字符和二进制数据。Reader 是字符流,而 InputStream ...

    Mybatis配置文件解析.pdf

    Mybatis配置文件解析,SqlSessionFactoryBuilder的build方法接受Reader/InputStream/Configuration作为配置源,创建SqlSessionFactory实例。在接受Reader/InputStream作为配置源时,创建了XMLConfigBuilder实例来...

    Mybatis配置文件解析组件.pdf

    Mybatis配置文件解析组件,SqlSessionFactoryBuilder的build方法接受Reader/InputStream/Configuration作为配置源,创建SqlSessionFactory实例。在接受Reader/InputStream作为配置源时,创建了XMLConfigBuilder实例...

    Java中Reader类.pdf

    - `InputStreamReader`: 这个类将字节流(`InputStream`)转换为字符流,支持多种字符编码,如ASCII、UTF-8等。 - `CharArrayReader`: 它允许直接使用一个字符数组作为数据源进行读取,常用于内存中的数据处理。 `...

    IO流体系继承结构图_动力节点Java学院整理

    首先,IO流的对称性质体现在InputStream与OutputStream以及Reader与Writer这两对概念上。InputStream和OutputStream构成了字节输入-输出的系统,它们是所有字节流的基类,提供了一般性的输入输出操作。Reader和...

    java_io.pdf

    1. **InputStream与OutputStream**: - **InputStream**:这是所有字节输入流的基类,提供了一套基本的方法来读取字节数据。例如,`FileInputStream`用于从文件中读取数据,而`ByteArrayInputStream`则允许从内存中...

    Android读取assets下面文件的代码例子

    BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); String line; while ((line = reader.readLine()) != null) { Log.d("TAG", line); } } catch (IOException e) { e....

    读取RSS资源实例rss_reader

    Android的`java.net.URL`类可以用于打开连接,`java.io.InputStream`用于读取响应数据。 - `HttpURLConnection`是另一种常用的网络请求方式,它提供了更多的控制和优化选项。然而,对于更复杂的HTTP操作,开发者...

    2021-2022年收藏的精品资料软件工程师浅谈Java的输入输出流技术步骤说明.docx

    Reader类有与InputStream相似的read方法,而Writer类也有与OutputStream对应的write方法。这些方法用于读取或写入单个字符或字符数组。 Java的流系统设计得非常灵活,允许不同类型的流进行组合和链接,以满足复杂的...

    ioliu.rar_IO流 java_Java Reader Writer_java IO_stream

    * io流 运用 * 注意:只要子类 包含以下类名字的,就是该... * InputStream----- 输入字节流 * Reader-------- 输入字符流 * OutputStream-----输出字节流 * Writer --------输出字符流

    获取asset文件夹中的txt文件方法

    BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8)); StringBuilder content = new StringBuilder(); String line; while ((line = reader.readLine()) != ...

Global site tag (gtag.js) - Google Analytics