(Java)IO流对象(三)字符流
【字符流】
Writer() 所有字符输出流的超类
| --- OutputStreamWriter 转换流 字符转字节
| --- FileWriter
| --- BufferedWriter 字符输出流缓冲流
Reader() 所有字符输入流的超类
| --- InputStreamReader 转换流 字节转字符
| --- FileReader
| --- BufferedReader 字符输入流缓冲流
【字符输出流】
import java.io.FileWriter;
import java.io.IOException;/** 字符输出流 java.io.Writer 所有字符输出流的超类* 写文件,写文本文件* 写的方法:* write(int c) 写一个字符* write(char[] c) 写字符数组* write(char[] int off, int len) 写字符数组的一部分,off开始索引 ,len 写的数量* write(String s) 写入字符串*//* Writer的子类 FileWriter* 构造方法: 写入的数据目的* File 类型的对象* String 文件名*/
public class WriteDemo1 {public static void main(String[] args) throws IOException {FileWriter fw = new FileWriter("E:\\workspace\\Demo\\ab.txt");// 写一个字符fw.write(100);// 刷新fw.flush(); // 写一个字符数组char[] c = {'a','s','c','d'};fw.write(c);fw.flush();// 写字符数组的一部分fw.write(c,0,3);fw.flush();// 写入字符串fw.write("Hello");fw.flush();fw.close(); // 文件中的内容: dascdascHello}}
【字符输入流】
import java.io.FileReader;
import java.io.IOException;
/** 字符输入流读取文本文件,java.io.Reader (抽象类) 所有字符输入流的超类* 专门读取文本文件* 读取的方法: read()* int read() 读取一个字符* int read(char[] c) 读取字符数组 *//** Reader 的子类 FileReader* 构造方法:绑定数据源* 参数: File 类型 对象 String文件名*/
public class ReaderDemo1 {public static void main(String[] args) throws IOException {FileReader fr = new FileReader("E:\\workspace\\Demo\\ab.txt");/*int len = 0;while((len = fr.read()) != -1){System.out.print((char)len); // dascdascHello 嘻哈哈}*/// 效率更高char[] c = new char[1024];int len = 0;while((len = fr.read(c)) != -1){System.out.println(new String(c,0,len)); // dascdascHello 嘻哈哈}fr.close();}}
【字符流复制文本文件】
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;/** 字符流复制文本文件,必须是文本文件* 字符流查询系统默认的编码表,简体中文GBK* FileReader 读取数据源* FileWriter 写入数据* */
public class Copy2 {public static void main(String[] args) {// 定义两个流对象变量FileReader fr = null;FileWriter fw = null;try{//创建对象, 绑定数据源和数据目的fr = new FileReader("E:\\workspace\\Demo\\ab.txt");fw = new FileWriter("E:\\workspace\\Demo\\aa.txt");int len = 0;char[] c = new char[1024];while((len = fr.read(c)) != -1){fw.write(c,0,len); fw.flush();}}catch(IOException ex){System.out.println(ex);throw new RuntimeException("复制失败,请重新复制");}finally{try{if(fw != null)fw.close();}catch(IOException ex){throw new RuntimeException("释放资源失败");}finally{try{if(fr != null)fr.close();}catch(IOException ex){throw new RuntimeException("释放资源失败");}}}}}
(Java)IO流对象(三)字符流相关推荐
- 【Java基础】吃透Java IO:字节流、字符流、缓冲流
文章目录 [Java基础-3]吃透Java IO:字节流.字符流.缓冲流 一.初识java IO 1.1 IO流分类 1.1.1 输入流与输出流 1.1.2 字节流与字符流 1.1.3 节点流和处理流 ...
- Java IO 3-字节流与字符流的区别
java以流的形式操纵IO,又将流分为两种:字节流与字符流,对JavaIO流操作不清楚的可以参考 Java IO 2-字节流与字符流 那字节流与字符流之间又有什么区别呢 区别 字节流用于操作文件数据, ...
- java byte char io流_吃透Java IO:字节流、字符流、缓冲流
前言有人曾问fastjson的作者(阿里技术专家高铁):"你开发fastjson,没得到什么好处,反而挨了骂背了锅,这种事情你为什么要做呢?" 高铁答道:"因为热爱本身, ...
- java字符流字节流场景_【120期】Java IO:字节流、字符流、缓冲流
IO流是Java中的一个重要构成部分,也是我们经常打交道的.这篇关于Java IO的博文干货满满,堪称全网前三(请轻喷!) 下面几个问题(问题还会继续补充),如果你能对答如流,那么恭喜你,IO知识掌握 ...
- fileoutputstream 字节乱码_吃透Java IO:字节流、字符流、缓冲流
前言 有人曾问fastjson的作者(阿里技术专家高铁):"你开发fastjson,没得到什么好处,反而挨了骂背了锅,这种事情你为什么要做呢?" 高铁答道:"因为热爱本身 ...
- java IO之字节流和字符流-Reader和Writer以及实现文件复制拷贝
接上一篇的字节流,以下主要介绍字符流.字符流和字节流的差别以及文件复制拷贝.在程序中一个字符等于两个字节.而一个汉字占俩个字节(一般有限面试会问:一个char是否能存下一个汉字,答案当然是能了,一个c ...
- 吃透Java IO:字节流、字符流、缓冲流
IO流是Java中的一个重要构成部分,也是我们经常打交道的. 下面几个问题(问题还会继续补充),如果你能对答如流,那么恭喜你,IO知识掌握得很好,可以立即关闭文章.反之,你可以在后面得文章中寻找答案. ...
- Java基础(二十七)Java IO(4)字符流(Character Stream)
字符流用于处理字符数据的读取和写入,它以字符为单位. 一.Reader类与Writer类 1.Reader类是所有字符输入流的父类,它定义了操作字符输入流的各种方法. 2.Writer类是所有字符输出 ...
- Java IO(五)——字符流进阶及BufferedWriter、BufferedReader
一.字符流和字节流的区别 拿一下上一篇文章的例子: 复制代码 复制代码 1 package com.demo.io; 2 3 import java.io.File; 4 import java.io ...
- Java基础巩固(二)异常,多线程,线程池,IO流,Properties集合,IO工具类,字符流,对象流,Stream,Lambda表达式
一.异常,多线程 学习目标 : 异常的概述 异常的分类 异常的处理方式 自定义异常 多线程入门 1 异常的概述 1.1 什么是异常? 异常就是程序出现了不正常情况 , 程序在执行过程中 , 数据导致程 ...
最新文章
- CDN加速技术和云计算
- WebGIS中基于AGS的画圆查询简析以及通过Polygon来构造圆的算法
- 【Linux驱动】字符设备驱动
- scrapy使用cookie的三种方式
- ​使用高斯过程回归指导网络轻量化
- 最强编程大法,太强了!
- 马斯克刚骂了激光雷达,这篇用纯视觉代替激光雷达的名校论文「力挺」了他...
- 网站抓取提示服务器错误,站长平台提示网站抓取异常是什么原因造成的?
- 软件的工程化管理(二)(转)
- springBoot整合redis使用介绍(详细案例)
- 基于鱼群算法的函数寻优算法
- IOTQQ(OPQbot)—QQ机器人、部署在linux上(一步步实
- RTF文件结构分析及其应用
- 乔布斯斯坦福大学演讲
- Python程序设计(下)
- TA(技术美术)宝藏网站
- 用 Wwise 和 Unity 制作 DLC 使用 Wwise 文件包(File Package)
- 群晖DDNS和端口转发等相关讲解
- 《Linux命令行与shell脚本编程大全》读书笔记 之一
- java:计算自由落体运动中物体的位移
热门文章
- 基于51单片机的智能门禁系统仿真LCD12864显示原理图程序
- mysql只读事务不分配事务id_只读事务是否做无用功?
- 树莓派文字转语音 python_[原创] 在树莓派上把文字转成语音(Text-To-Speech/TTS)...
- tensorflow2.0下载mnist数据存放位置
- pool win10提示bad_Win10出现bad pool header蓝屏怎么修复?
- shell 2:变量(variable)
- 给青年的忠告--马克吐温
- C# HtmlAgilityPack 页面结构解析
- “打工皇帝”唐骏语录
- 采用网闸隔离的内外网如何进行数据的即时交互?