IO(字符流)】的更多相关文章

Java Io 字符流包含: 1. InputStreamReader  它是由byte流解析为char流,并且按照给定的编码解析. 2. OutputStreamWrite  它是char流到byte流的转换,并且按照给定的编码处理. 事例代码如下: package com.dcz.io; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.In…
作者: Jakob Jenkov  译者: 李璟(jlee381344197@gmail.com) 本章节将简要介绍缓冲与过滤相关的reader和writer,主要涉及BufferedReader.BufferedWriter.FilterReader.FilterWriter. BufferedReader 原文链接 BufferedReader能为字符输入流提供缓冲区,可以提高许多IO处理的速度.你可以一次读取一大块的数据,而不需要每次从网络或者磁盘中一次读取一个字节.特别是在访问大量磁盘数…
作者: Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com) 本章节将简要介绍管道与字符数组相关的reader和writer,主要涉及PipedReader.PipedWriter.CharArrayReader.CharArrayWriter. PipedReader 原文链接 PipedReader能够从管道中读取字符流.与PipedInputStream类似,不同的是PipedReader读取的是字符而非字节.换句话说,PipedReader用于读取管道…
package com.io; import java.io.*; /** * 文件字符流的读取 * @author ganhang * */ public class FileReaderDemo { public static void read(){ File file =new File("1.txt"); try { FileReader fr=new FileReader(file); StringBuffer sb=new StringBuffer(); char []…
字符流:只能操作文本文件,与字节流的区别是,字节流是按照字节来读取文件,而字符流是按照字符来读取,因此字符流的局限性为文本文件 字符输出流:Write类,使用时通过子类   每一次写入都要刷新 package com.zs; import java.io.FileWriter; import java.io.IOException; public class Demo3 { public static void main(String[] args) throws IOException { F…
    1. 由于Java采用16位的Unicode字符,因此需要基于字符的输入/输出操作.从Java1.1版开始,加入了专门处理字符流的抽象类Reader和Writer,前者用于处理输入,后者用于处理输出. 2. Java程序语言使用Unicode来表示字符串和字符,Unicode使用两个字节来表示一个字符,即一个字符占16位 3. 字节流的编码规范与具体的平台有关,可以在构造流对象时指定规范,也可以使用当前平台的缺省规范 InputStreamReader和OutputStreamWrite…
字节流:因为内存中数据都是字节,二进制数据. 字符流:方便处理文本数据.字符流是基于字节流的. ascii 编码表,并且各国都有自己的编码表. unicode码表,世界码表.优化后 utf-8码表. 创建文件,写入文件 代码健壮的书写方式,要做异常处理 已有文件的续写 文件读取(此示例中没有编写异常 控制.真正编程时需要加进去) 操作示例 兼容win 和 linux 的换行符 用   读取操作示例 LineNumberReader 是 一个增强类(装饰类) 获取文件行数(注意写代码时要抛IO异常…
字符流,只能操作文本文件,不能操作图片.视频等非文本文件 字符输入流 java.io.Reader 字符输入流中一些共性的成员方法 int read():读取单个字符并返回. int read(char[] cbuf):一次读取多个字符,将这些字符存入数组. void close():关闭该流并释放与之关联的所有资源. 文件字符输入流 FileRead extends InputStreamReader extends Reader 构造方法: FileReader(File file): Fi…
FileWriter字符输出流演示: /* * FiileWriter 字符流的操作 * FileWriter 的构造方法 可传递 File类型 还可以传递String类型 * * 方法 : * write(int c) 传递一个字节 * write(char[] a ) 传递一个字符数组 * write(char[]a , 开始索引 , 传递几个) * write(String s) 传递一个字符串 * * 注意:写完之后一定要刷新缓冲区 不然数据 写入不进 * 对象.flush() * */…
Writer写入字符流的抽象类.对文件的操作使用:FileWriter类完成 Reader读取字符的抽象类. public class CharDemo { /** * @param args */ public static void main(String[] args) { // TODO 自动生成的方法存根 write(); read(); } //字符输出流 public static void write(){ File file=new File("c:\\b.txt")…
因为内置缓冲区的原因,如果不关闭输出流,无法写出字符到文件中. 但是关闭的流对象,是无法继续写出数据 的.如果我们既想写出数据,又想继续使用流,就需要 flush 方法了. flush :刷新缓冲区,流对象可以继续使用. close :先刷新缓冲区,然后通知系统释放资源.流对象不可以再被使用了. public class FWWrite { public static void main(String[] args) throws IOException {  // 使用文件名称创建流对象 Fi…
import java.awt.Frame; import java.io.*; public class filewriter { /** * @param args */ public static void main(String[] args) throws IOException{ // TODO Auto-generated method stub //test1(); test2(); } static void test1()throws IOException{ FileWri…
从1开始写写三个字符 最后多了个bcd 写入字符串 字符串的一部分…
读取的文件有中文也有英文 强转为char类型 缓冲读取多个字符 使用string的构造方法转换为字符输出…
一.File类 1.1概述 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. 1.1.1相对路径与绝对路径 相对路径从盘符开始的路径,这是一个完整的路径 绝对路径相对于项目目录的路径,这是一个便捷的路径,开发中经常使用. 1.2字段摘要 static String pathSeparator 与系统有关的路径分隔符,为了方便,它被表示为一个字符串. static char pathSeparatorChar 与系统有关的路径分隔符. stat…
变量没有初始化的赋值 变量可能赋值会失败.设置fw为null.close报错 把close也用try catch捕获异常 修改写入w盘.实际盘符没有这个 上面异常是这里打印的 继续优化代码…
写完之后不刷新,则没有数据.数据只是写如到了内存缓冲区中 必须要调用flush方法,把数据刷新过去 close关闭的时候也会把数据刷新到文件中.这里把flush注释了也是可以的…
前面的博文介绍了字节流,那字符流又是什么流?从字面意思上看,字节流是面向字节的流,字符流是针对unicode编码的字符流,字符的单位一般比字节大,字节可以处理任何数据类型,通常在处理文本文件内容时,字符流可以一个一个字符的读取,也可以一行一行字符的读取. 字符流类型 字符流类型包括Writer和Reader及其子类如图所示 Writer的子类 名称 说明 BufferedWriter 将文本写入字符输出流,缓冲各个字符,从而提供单个字符.数组和字符串的高效写入. CharArrayWriter…
字节流字节流主要是操作byte类型数据,也byte数组为准,主要操作类就是·字节输出流:OutputStream·字节输入流:InputStream字符流在程序中一个字符等于2个字节,那么java提供了Reader.Writer两个专门操作字符流的类.·字符输出流:Writer·字符输入流:Reader字节-字符转换流OutputStreamWriter和InputStreamReader在整个IO包中,实际上就是字节流和字符流,但是除了这两个流之外,还存在一组字节流-字符流的转换类.[java…
字符是我们能读懂的一些文字和符号,但在计算机中存储的却是我们看不懂的byte 字节,那这就存在关于字符编码解码的问题.所以在学习Io流的字符流前我们先了解些关于编码问题. 一.字符集与字符编码 1.什么要有字符集 我们在计算机屏幕上看到的是实体化的文字,而在计算机存储介质中存放的实际是二进制的比特流.那 么在这两者之间的转换规则就需要一个统一的标准,否则就会出现乱码了现象:小伙伴QQ上传过来的文件,在我们本地打开又乱码了. 于是为了实现转换标准,各种字符集标准就出现了. 2.什么是字符集 简单的…
Java程序中,一个字符等于两个字节. Reader 和 Writer 两个就是专门用于操作字符流的类. Writer Writer是一个字符流的抽象类.  它的定义如下: public abstract class Writer implements Appendable, Closeable, Flushable 直接子类 BufferedWriter,  CharArrayWriter,  FilterWriter,  OutputStreamWriter,  PipedWriter, …
计算机并不区分二进制文件与文本文件.所有的文件都是以二进制形式来存储的,因此,从本质上说,所有的文件都是二进制文件.所以字符流是建立在字节流之上的,它能够提供字符层次的编码和解码. 常见的码表 ASCII:    美国标准信息交换码.用一个字节的7位可以表示. ISO8859-1:   拉丁码表.欧洲码表,用一个字节的8位表示. GB2312:   英文占一个字节,中文占两个字节.中国的中文编码表. GBK:      中国的中文编码表升级,融合了更多的中文文字符号. Unicode:  国际标…
IO流:IO流用来处理设备之间的数据传输,Java对于流的操作对象都在IO包中将外设中的数据读取到内存中:输入将内存的数写入到外设中:输出 流分为字节流和字符流字符流的由来:其实就是字节流读取文字字节数据后,不直接操作而是先查指定的编码表.获取相应的文字.在对这个文字进行操作,简单地说就是:字节流+编码表 字节流的顶层父类:1.InputStream 2.OutputStream 字符流的两个顶层父类:1.Reader 2.Writer这些体系的子类都以父类名作为后缀而子类名的前缀就是该对象的功…
文章出自:听云博客 题主将以三个章节的篇幅来讲解JAVA IO的内容 . 第一节JAVA IO包的框架体系和源码分析,第二节,序列化反序列化和IO的设计模块,第三节异步IO. 本文是第一节.       IO框架 从上图我们可以看出IO可以分为两大块 字节流和字符流 字节流是 InputStream 和 OutputStream 分别对应输入与输出 字符流是Reader和Writer分别对应输入与输出        ByteArrayInputStream  它字节数组输入流.继承于InputS…
一.概述. java对数据的操作是通过流的方式.java用于操作流的对象都在IO包中.流按照操作数据不同分为两种,字节流和字符流.流按照流向分为输入流,输出流. 输入输出的“入”和“出”是相当于内存来说的. 字符流:字节流读取文字字节数据后,不直接操作,而是先查指定的编码表,获取对应的文字,再对这个文字进行操作.简单来说就是字节流+码表. 在IO流中,字节流的顶层父类是Writer和Reader. 二.java.io.FileWriter类. public class FileWriterext…