Java IO: Reader和Writer

转载自   Java IO: Reader和Writer

作者: Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com)

Reader

原文链接

Reader是Java IO中所有Reader的基类。Reader与InputStream类似,不同点在于,Reader基于字符而非基于字节。换句话说,Reader用于读取文本,而InputStream用于读取原始字节。

请记住,Java内部使用UTF8编码表示字符串。输入流中一个字节可能并不等同于一个UTF8字符。如果你从输入流中以字节为单位读取UTF8编码的文本,并且尝试将读取到的字节转换成字符,你可能会得不到预期的结果。

read()方法返回一个包含了读取到的字符内容的int类型变量(译者注:0~65535)。如果方法返回-1,表明Reader中已经没有剩余可读取字符,此时可以关闭Reader。-1是一个int类型,不是byte或者char类型,这是不一样的。

你通常会使用Reader的子类,而不会直接使用Reader。Reader的子类包括InputStreamReader,CharArrayReader,FileReader等等。可以查看Java IO概述浏览完整的Reader表格。

Reader通常与文件、字符数组、网络等数据源相关联,Java IO概述中同样说明了这一点。

Writer

原文链接

Writer是Java IO中所有Writer的基类。与Reader和InputStream的关系类似,Writer基于字符而非基于字节,Writer用于写入文本,OutputStream用于写入字节。

同样,你最好使用Writer的子类,不需要直接使用Writer,因为子类的实现更加明确,更能表现你的意图。常用子类包括OutputStreamWriter,CharArrayWriter,FileWriter等。

Writer的write(int c)方法,会将传入参数的低16位写入到Writer中,忽略高16位的数据。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/327807.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

idea新建module 后 mapper老是说mapper和xml没有绑定

20200225_005a 三层全部走通 上面走不出来应该是spingboot的版本太高了 选spring版本的时候选到最低版本 intian_talentapartment_api.zip repair

java线程的创建线程_多线程(Thread、线程创建、线程池)

第1章 多线程1.1 多线程介绍学习多线程之前,我们先要了解几个关于多线程有关的概念。进程:进程指正在运行的程序。确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有…

hibernate注解实体类(Emp.java)

Emp.java 员工信息表的注解实体类详情: package cn.bdqn.hibernate_Criteria.entity;import java.util.Date; import javax.persistence.*;/*** Emp entity. author MyEclipse Persistence Tools*/Entity Table(name"EMP") public class Emp implements j…

MySQL在EF Core下的Scaffolding操作

Pomelo于2016年11月22日发布的MySQL for ef core中,增加了DbContext Scaffolding的支持,这项功能是让开发者可以从现有的数据库中提取表、列、索引及外键成为模型。这也是当前唯一一个支持Scaffolding的MySQL for EF Core Provider。 下面将演示如何使用…

Java IO: 序列化与ObjectInputStream、ObjectOutputStream

转载自 Java IO: 序列化与ObjectInputStream、ObjectOutputStream作者:Jakob Jenkov 译者: 李璟(jlee381344197gmail.com) 本小节会简要概括Java IO中的序列化以及涉及到的流,主要包括ObjectInputStream和ObjectOutputStream。 Serializabl…

调试备忘录-RS485 MODBUS RTU协议简述

目录--点击可快速直达 目录 写在前面先简单说下什么是MODBUS?参考文章 写在前面 最近在做和物联网有关的小项目,有一个传感器通讯用到了RS485 MODBUS RTU协议,所以就写个随笔记录下。 先简单说下什么是MODBUS? Modbus协议是应用于电子控…

狂神说spring笔记

B站 https://www.bilibili.com/video/BV1WE411d7Dv 狂神说Spring01:概述及IOC理论推导 https://mp.weixin.qq.com/s/VM6INdNB_hNfXCMq3UZgTQ 狂神说Spring02:快速上手Spring https://mp.weixin.qq.com/s/Sa39ulmHpNFJ9u48rwCG7A 狂神说Spring03&#…

体验 ASP.NET Core 1.1 中预编译 MVC Razor 视图

这是从 ASP.NET Core 1.1 官方发布博文中学到的一招,可以在 dontet publish 时将 Razor 视图编译为 .dll 文件。 需要在 project.json 中添加如下配置: 1)在 "dependencies" 中添加: "Microsoft.AspNetCore.Mvc.Ra…

Vue组件异步加载

一、vue的非编译模式 基于requireJSVUE搭建的环境 (1)路由配置信息 A、异步加载组件 define(function(){return [{name: "my-component",path: "/myComponent",component: resolve > require([myComponent], resolve),}]; }); B、…

Java毕设动物管理系统_java毕业设计_springboot框架的现代化动物园管理系统EB

这是一个基于java的毕业设计项目,毕设课题为springboot框架的现代化动物园管理系统EB, 是一个采用b/s结构的javaweb项目, 开发工具eclipsei/eclipse, 项目框架jspspringbootmybatis, 现代化动物园管理系统EB采用mysql进行数据存储, 并基于mybatis进行了orm实体关系映射, 该现代…

关闭(杀死)8080端口

Microsoft Windows [版本 10.0.14393] (c) 2016 Microsoft Corporation。保留所有权利。 C:\windows\system32>netstat -ano | findstr 8080 TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 6148 C:\windows\system32>taskkill /pid 6148 /f 成功: 已终止 PID 为 6148 的进程。…

Mybatis(笔记)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sVjVvSsH-1609421261302)(C:\Users\王东梁\AppData\Roaming\Typora\typora-user-images\image-20201230155751713.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T7e…

Java IO: Buffered和Data

转载自 Java IO: Buffered和Data作者:Jakob Jenkov 译者: 李璟(jlee381344197gmail.com) 本小节会简要概括Java IO中Buffered和data的输入输出流,主要涉及以下4个类型的流:BufferedInputStream,BufferedOutputStream…

Visual Studio Code 玩MS SQL

Connect 2016 有一堆好玩的东西,微软正在努力地转型,从Windows First到Cloud First 。Cloud First的缘故也推动了微软产品的跨平台,你可以看到Microsoft Office / Visual Studio Code / Visual Studio / PowerShell 都陆续登上了Linux/Mac 。…

java 单例 生命周期_单例模式--- 声明周期托管方式

声明周期托管方式,IOCJAVA代码MyManager.javaimport java.util.HashMap;/*** 为了管理对象的产生* 对象的控制权给当前类负责* 生命周期托管实现对象的单例* IOC控制反转*/public class MyManager {// 存储所有被管理的对象private static HashMap beanMap new Has…

Spring配置

Spring配置 别名 alias 设置别名 , 为bean设置别名 , 可以设置多个别名 <!--设置别名&#xff1a;在获取Bean的时候可以使用别名获取--> <alias name"userT" alias"userNew"/>Bean的配置 <!--bean就是java对象,由Spring创建和管理-->…

优化 Vue 项目编译文件大小

转载自 优化 Vue 项目编译文件大小与其说是优化 Vue&#xff0c;不如说主要是在 webpack 打包的配置中做些文章&#xff0c;使得 Vue 编译后的文件尽可能的小。以下介绍自己在项目中进行优化的过程&#xff0c;其中的内容也许并不适合于每个项目&#xff0c;但整体思路是差不多…

mybatis反向生成实体类、dao层以及映射文件

在做项目的时候&#xff0c;我们不得不写底层的一些繁琐代码&#xff0c;比如说实体类、dao层之类的&#xff0c;既浪费时间又费事&#xff0c;最主要的是还没效率&#xff0c;kuangkuangkuang的写半天终于写完了&#xff0c;到运行的时候dao层的代码居然还报错&#xff01;&am…