Java IO系统--字符流
字符流:尽管字节流提供了处理任何类型输入/输出操作的足够功能,它们补鞥呢直接操作Unicode字符。字符流层次结构的顶层是Reader和Writer抽象类。类似于InputStream和OutputStram
Unicode使用两个字节来表示一个字符,即一个字符占16位
一、Reader的类层次结构
二、Writer的类层次结构
三、Demo
public class StreamTest { public static void main(String[] args) throws Exception{
FileOutputStream fos = new FileOutputStream("D:/temp/file.txt"); OutputStreamWriter osw = new OutputStreamWriter(fos); BufferedWriter bw = new BufferedWriter(osw); bw.write("http://www.baidu.com");
bw.newLine();
bw.write("http://www.googlo.com");
bw.close(); FileInputStream fis = new FileInputStream("D:/temp/file.txt"); InputStreamReader isr = new InputStreamReader(fis); BufferedReader br = new BufferedReader(isr); String str = null;
while ((str = br.readLine() ) != null) {
System.out.println(str); } br.close(); }
}
文本的内容
打印出的输出
四、Demo2 标准输入设备
//标准输入设备
public class StreamTest2 { public static void main(String[] args) throws Exception{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String str ;
while (null != (str = br.readLine())) {
System.out.println(str); }
br.close(); }
}
显示效果
五、FileReader使用,
从一个文件逐行读取帮把它输出到标准输出流。
public class FileReader1 { public static void main(String[] args) throws Exception{
FileReader fr = new FileReader("D:/temp/hello.txt");
BufferedReader br = new BufferedReader(fr);
String str ;
while((str = br.readLine()) != null ){
System.out.println(str);
}
br.close(); }
}
FileWriter使用
public class FileWriter1 {
public static void main(String[] args) throws Exception { String str = "hello world , Hello world";
char[] buffer = new char[str.length()];
str.getChars(0, str.length(), buffer, 0); FileWriter fw = new FileWriter("D:/temp/fileWrite.txt");
BufferedWriter bw = new BufferedWriter(fw);
for(int i = 0; i < buffer.length ; i++){
bw.write(buffer[i]);
}
bw.close(); }
}
写入结果
六、CharArrayReader使用
public class charArrayReader1 { public static void main(String[] args) throws Exception{
String tmp = "hello world, HI";
char[] ch = new char[tmp.length()];
tmp.getChars(0, tmp.length(), ch, 0); CharArrayReader fr = new CharArrayReader(ch);
BufferedReader br = new BufferedReader(fr);
String str ;
while((str = br.readLine()) != null ){
System.out.println(str);
}
br.close(); }
}
Java IO系统--字符流的更多相关文章
- Java IO: 其他字符流(下)
作者: Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com) 本小节会简要概括Java IO中的PushbackReader,LineNumberReader,St ...
- Java IO之字符流和文件
前面的博文介绍了字节流,那字符流又是什么流?从字面意思上看,字节流是面向字节的流,字符流是针对unicode编码的字符流,字符的单位一般比字节大,字节可以处理任何数据类型,通常在处理文本文件内容时,字 ...
- [Java IO]03_字符流
Java程序中,一个字符等于两个字节. Reader 和 Writer 两个就是专门用于操作字符流的类. Writer Writer是一个字符流的抽象类. 它的定义如下: public abstra ...
- java IO之 字符流 (字符流 = 字节流 + 编码表) 装饰器模式
字符流 计算机并不区分二进制文件与文本文件.所有的文件都是以二进制形式来存储的,因此, 从本质上说,所有的文件都是二进制文件.所以字符流是建立在字节流之上的,它能够提供字符 层次的编码和解码.列如,在 ...
- Java——IO类 字符流概述
body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...
- Java IO编程——字符流与字节流
在java.io包里面File类是唯一 一个与文件本身有关的程序处理类,但是File只能够操作文件本身而不能够操作文件的内容,或者说在实际的开发之中IO操作的核心意义在于:输入与输出操作.而对于程序而 ...
- Java IO(四--字符流基本使用
在上一节,介绍了字节流的基本使用,本节介绍一下字符流的使用 Reader: public abstract class Reader implements Readable, Closeable { ...
- Java IO之字符流
public static void main(String[] args) { FileWriter fw = null; try { fw = new FileWriter("/User ...
- java字节流和字符流,以及java文件操作
A.首先说字节流:1.字节流在操作的时候不会用到缓冲区(也就是内存)2.字节流可用于任何类型的对象,包括二进制对象3.字节流处理单元为1个字节,操作字节和字节数组.InputStream是所有字节输入 ...
随机推荐
- pandas数据处理
首先,数据加载 pandas提供了一些用于将表格型数据读取为DataFrame对象的函数,期中read_csv和read_table这两个使用最多. 1.删除重复元素 使用duplicated()函数 ...
- Linux 曝出严重安全漏洞,受限用户亦可提权至 Root 身份运行任意命令!(内附解决方案)
本文首发于:微信公众号「运维之美」,公众号 ID:Hi-Linux. 「运维之美」是一个有情怀.有态度,专注于 Linux 运维相关技术文章分享的公众号.公众号致力于为广大运维工作者分享各类技术文章和 ...
- 【编程开发】Python隐藏属性——使用双下划线标识私有属性,外部不可直接访问
from:https://zhuanlan.zhihu.com/p/30553607 小编在最初使用上Python之后,就一发不可收拾,人生苦短.我用Python,不光是因为其优雅简洁, ...
- 【Python】使用Python压缩文件/文件夹
[Python压缩文件夹]导入“zipfile”模块 def zip_ya(startdir,file_news): startdir = ".\\123" #要压缩的文件夹路径 ...
- 倍增法求lca:暗的连锁
https://loj.ac/problem/10131 #include<bits/stdc++.h> using namespace std; struct node{ int to, ...
- Django之路——3 Django的路由层
django不得不说是个很强大的框架,当前端给了我们一堆网页的时候,我们在考虑怎么去让这些页面与调用视图的函数配对的时候,而django则给我们提供了强大路由分发功能,让我们不在花时间浪费在这些事情上 ...
- 题解 洛谷P3745 【[六省联考2017]期末考试】
这题有点绕,我写了\(2h\)终于搞明白了. 主要思路:枚举最晚公布成绩的时间\(maxt\),然后将所有公布时间大于\(maxt\)的课程都严格降为\(maxt\)即可. 在此之前,还要搞清楚一个概 ...
- Spring Cloud 组件 —— hystrix
作用与功能 ① 资源隔离, 每个依赖配备单独的线程池,为每个依赖提供一个小的线程池(或信号),如果线程池已满调用将被立即拒绝,默认不采用排队.加速失败判定时间.② 依赖超时,可配置依赖调用超时时间,超 ...
- drf框架 - 三大认证组件 | 认证组件 | 权限组件 | 频率组件
RBAC 基于用户权限访问控制的认证 - Role-Based Access Control Django框架采用的是RBAC认证规则,RBAC认证规则通常会分为 三表规则.五表规则,Django采用 ...
- Linux secureCRT 介绍和安装和优化
修改背景颜色