java reader类 实例_java字符流-java writer-java reader-嗨客网
Java字符流教程
在
Java 语言对文件进行操作的时候是以流的方式进行操作的,主要有如下步骤:
使用 File 类打开一个文件
通过
进行读/写操作
关闭输入/输出
Java语言字符流
和字节不同点在于,字符是 char 格式,一个字符等于两个字节。Java 语言中主要提供流 Reader 和 Writer 两个类专门操作字符流。
Java Writer类详解
说明
Writer 是一个抽象类,它是一个字符输出类。Writer 类常用方法:
常用方法
方法
名称
abstract public void close() throws IOException;
关闭输出流
public void write(String str) throws IOException
将字符串输出
public void write(char cbuf[]) throws IOException
将字符串数组输出
abstract public void flush() throws IOException;
强制性清空缓存
案例
package com.haicoder.net.stream;
import java.io.*;
public class WriterTest{
public static void main(String[] args) throws Exception{
System.out.println("嗨客网(www.haicoder.net)");
File file = new File("/Users/haicoder/Documents/code/hai/filetest.txt"); //如果文件不存在,会自动创建
Writer writer = new FileWriter(file);
String appendInfo = "嗨客网,你好啊!\r\n"; //\r\n 在追加文件的时候,表示换行
writer.write(appendInfo); //文件没有,创建并写入
writer.write(appendInfo); //追加文件内容
writer.close();
System.out.println("===结束==");
}
}
运行结果如下
创建文件效果如下
在对文件操作的时候,我们需要捕获异常,为了方便,我们在方法体外面 throws Exception。我们使用了Writer 类的子类 FileWriter 来创建对象。 Writer 可以将字符串直接写入到文件中,也可以将信息追加到文件里面。
Java Reader类
说明
Reader 类也是一个抽象类,它与 Writer 相反,是一个字符输入类,Reader 类常用方法:
常用方法
方法
描述
abstract public void close() throws IOException;
关闭输出流
public int read() throws IOException
读取单个字符
public int read(char cbuf[]) throws IOException
将内容读取到字符数组中,返回读入的长度
案例
package com.haicoder.net.stream;
import java.io.File;
import java.io.FileReader;
import java.io.Reader;
public class ReaderTest{
public static void main(String[] args) throws Exception{
System.out.println("嗨客网(www.haicoder.net)");
File file = new File("/Users/haicoder/Documents/code/hai/filetest.txt"); //如果文件不存在,会自动创建
System.out.println("====第一种读取方式========");
Reader reader = new FileReader(file);
char c[] = new char[1024];
int len = reader.read(c);
reader.close();
System.out.println("内容为:\n" + new String(c, 0, len));
System.out.println("=========第二种读取方式========");
Reader reader1 = new FileReader(file);
int contentLen = 0;
char contentChar[] = new char[1024];
int tmp = 0;
while ((tmp = reader1.read()) != -1) { //如果为 -1 表示读取到文件内容末尾
contentChar[contentLen] = (char) tmp;
contentLen++;
}
reader1.close();
System.out.println("第二种读取内容为:\n" + new String(contentChar, 0, contentLen));
}
}
运行结果如下:
在对文件操作的时候,我们需要捕获异常,为了方便,我们在方法体外面 throws Exception。我们使用了Reader 类的子类 FileReader 来创建对象。
可以通过一次性读取文件的格式,将所有的内容填写到字节数组中,也可以 read() 方法,一个一个字节读取,如果读取到的数据为 -1 表示已经读取到文件末尾。
Java字符流总结
字符流里面,输出流是 Writer ,它可以将字节信息填写到文件里面,Reader 是输入流,它可以将文件中的内容读取。Writer 和 Reader 是抽象类,如果要使用它们的方法或者定义它们的对象,需要使用它们的子类。
java reader类 实例_java字符流-java writer-java reader-嗨客网相关推荐
- java reader类 实例_Java Reader ready()用法及代码示例
Java中Reader类的ready()方法用于检查此Reader是否已准备好被读取.它返回一个布尔值,该值指示阅读器是否准备就绪. 用法: public void ready() 参数:此方法不接受 ...
- java定义字符串数组_java字符数组用法总结,java字符串数组的定义与使用
java字符数组,java数组的定义与使用 二维数组 String[] str = new String[5]; //创建一个长度为5的String(字符串)型的一维数组 String[] str = ...
- java 字节流 区别_java字节流字符流区别-嗨客网
Java字节流与字符流区别 Java字节流与字符流区别教程 我们在 实际上字节流在对文件操作的时候,不会用到缓冲区(内存),对文件本身直接操作而字符流在对文件操作的时候用到了缓冲区,通过缓冲区来对文件 ...
- Java基础(二十七)Java IO(4)字符流(Character Stream)
字符流用于处理字符数据的读取和写入,它以字符为单位. 一.Reader类与Writer类 1.Reader类是所有字符输入流的父类,它定义了操作字符输入流的各种方法. 2.Writer类是所有字符输出 ...
- java byte char io流_吃透Java IO:字节流、字符流、缓冲流
前言有人曾问fastjson的作者(阿里技术专家高铁):"你开发fastjson,没得到什么好处,反而挨了骂背了锅,这种事情你为什么要做呢?" 高铁答道:"因为热爱本身, ...
- Java IO(五)——字符流进阶及BufferedWriter、BufferedReader
一.字符流和字节流的区别 拿一下上一篇文章的例子: 复制代码 复制代码 1 package com.demo.io; 2 3 import java.io.File; 4 import java.io ...
- 【Java基础】吃透Java IO:字节流、字符流、缓冲流
文章目录 [Java基础-3]吃透Java IO:字节流.字符流.缓冲流 一.初识java IO 1.1 IO流分类 1.1.1 输入流与输出流 1.1.2 字节流与字符流 1.1.3 节点流和处理流 ...
- java字符流字节流场景_【120期】Java IO:字节流、字符流、缓冲流
IO流是Java中的一个重要构成部分,也是我们经常打交道的.这篇关于Java IO的博文干货满满,堪称全网前三(请轻喷!) 下面几个问题(问题还会继续补充),如果你能对答如流,那么恭喜你,IO知识掌握 ...
- fileoutputstream 字节乱码_吃透Java IO:字节流、字符流、缓冲流
前言 有人曾问fastjson的作者(阿里技术专家高铁):"你开发fastjson,没得到什么好处,反而挨了骂背了锅,这种事情你为什么要做呢?" 高铁答道:"因为热爱本身 ...
- JAVA SE学习day_06:字符流、异常处理
一.字符流 java将流按照读写单位划分为字节流与字符流 字节流:超类为InputStream和OutputStream,读写单位为字节 字符流:超类为Reader和Writer,读写单位为cahr ...
最新文章
- java 不退出_Java项目不挂断运行,即当账户退出或终端关闭时,程序仍然运行,并附上执行脚本...
- 笔记本网络计算机和设备不可见,WIN10局域网电脑和设备显示不完整
- python字典嵌套实例
- linux进程管理fork,Linux -- 进程管理之 fork() 函数
- 使用Google Test的一个简单例子
- XCODE---个人常用快捷键整理
- 模板方法(Template Method)
- python基于SMTP发送邮件(qq邮箱)
- 12.软件架构设计:大型网站技术架构与业务架构融合之道 --- CAP理论
- 条件随机场 Conditional Random Fields
- 金额转换,阿拉伯数字的金额转换成中国传统的形式
- 【微信小程序毕业设计源代码】校园考勤打卡及作业管理小程序系统丨前后分离VUE[包运行成功]
- 花生壳ping域名得到的IP与实际IP不一致的解决方法
- python编写移动平均_如何在Python中编写不同类型的移动平均线。
- 一个简单的多线程实现
- 均匀点云边界检测——密度查找(1/2)
- iOS音视频播放-AVPlayer简单使用
- 如何在BIOS设置电脑主机刚接通电源后开机方式
- bibtex类型以及格式要求
- 读者10W了,怎能不送书感谢一下?
热门文章
- 小米笔记本重装系统BOOT启动菜单识别不了硬盘无法启动进入系统
- 华为鸿蒙2048小游戏,从零开始使用华为DevEco Studio编写2048小游戏
- CSS font-family 各名称一览表
- 算法研究NO8.用数理统计法消除粗大误差
- Matlab R2019a Win64位 迅雷下载链接
- 07《基于深度学习的车标识别方法研究》学习总结
- android软件画面共享,安卓两台手机怎么实现屏幕共享?安卓两台手机实现屏幕共享教程...
- matlab菲涅尔衍射光强分布,矩孔菲涅耳衍射的光强分布.pdf
- 【跨年烟花代码】用C语言来写“烟花”,快拿去给心中的那个人看
- 系分 01 企业信息化战略与实施