Java基础IO之一字符流
来源:互联网 发布:淘宝恶意评价投诉入口 编辑:程序博客网 时间:2024/05/16 15:25
字符流操作
IO流简介
Io流处理设备之间的数据传输
Java对数据的操作通过流的方式
流按操作数据分为两种:
字节流
字符流
按流向分为:
输入流 === 表示读
输出流 === 表示写
字符流的由来:
以前处理数据都是字节数据,使用字节流技术就可以完成了。
因为后期编码表的不断出现,识别某一文字的码表不唯一。比如中文,GBK,unicode都可以识别。就出出现了编码问题。
中文字节数据 gbk --> 流处理--->gbk解析可以了。
出现这样的问题:
中文字节数据gbk --> 流处理 unicode来处理-->数据错误。
为了处理文字数据,就需要通过字节流技术+编码表 相结合来完成。
字符流就是:字节流+编码表。
IO流基类
字节流
InputStream 读字节
OutputStream 写字节
字符流
Reader 读字符
Writer 写字符
字符输出流实例
1.写入字符流
public class FileWriterDemo { public static void main(String[] args) throws IOException { //1.通过FileWriter创建流对象 FileWriter fw = new FileWriter("demo.txt"); //2.使用流对象将字符串写入,调用写入方法 fw.write("hello"); //3.将缓存中的数据刷到磁盘中 fw.flush(); //4.关闭流 fw.close(); }}2.追加字符流
public class FileWriterDemo { public static void main(String[] args) throws IOException { //1.通过FileWriter创建流对象 FileWriter fw = new FileWriter("demo.txt",true); //追加方式 //2.使用流对象将字符串写入,调用写入方法 fw.write("world"); //3.将缓存中的数据刷到磁盘中 fw.flush(); //4.关闭流 fw.close(); }}3.标准的字符流格式
public class FileWriterDemo { public static void main(String[] args) { //1.通过FileWriter创建流对象 FileWriter fw = null; try { fw = new FileWriter("demo.txt", true); //2.使用流对象将字符串写入,调用写入方法 fw.write("world"); //3.将缓存中的数据刷到磁盘中 fw.flush(); } catch (IOException e) { e.printStackTrace(); } finally { //4.关闭流 try { if(fw!=null) fw.close(); } catch (IOException e) { e.printStackTrace(); } } }}字符输入流实例
4.读取内容一个字符一个字符读取
public class FileReaderDemo { public static void main(String[] args) throws IOException { //1.创建对象 demo.txt 存he FileReader fr = new FileReader("demo.txt"); //2.读取字符,读取到什么字符,返回什么字符,结尾返回-1 //读取三次,最后一次返回的是-1,表示读取完毕 int ch = fr.read(); System.out.println((char)ch); ch = fr.read(); System.out.println((char)ch); ch = fr.read(); System.out.println(ch); //4.关闭流 fr.close(); }}5.循环读取(一个字符方式)
public class FileReaderDemo { public static void main(String[] args) throws IOException { //1.创建对象 demo.txt 存he FileReader fr = new FileReader("demo.txt"); //2.读取字符,读取到什么字符,返回什么字符,结尾返回-1 //读取三次,最后一次返回的是-1,表示读取完毕 int ch; while((ch=fr.read())!=-1){ System.out.println((char)ch); } //4.关闭流 fr.close(); }}6.循环读取,一次读取到数组中
public class FileReaderDemo2 { public static void main(String[] args) throws IOException { FileReader fr = new FileReader("demo.txt"); char[] buf = new char[2]; int len; while((len=fr.read(buf))!=-1){ System.out.print(new String(buf,0,len)); } fr.close(); }}7.练习:读写操作复制文件
public class FileReaderWriterDemo { public static void main(String[] args) throws IOException{ //1.创建读取流 FileReader fr = new FileReader("demo.txt"); FileWriter fw = new FileWriter("demo1.txt"); char[] buf = new char[1024]; int len; //读取到buf中 while((len=fr.read(buf))!=-1){ //写到demo1.txt fw.write(buf,0,len); } fr.close(); fw.close(); }}8.复制文本文件的原理
FileReader与FileWriter的简单操作!!!
阅读全文
0 0
- Java基础IO之一字符流
- java基础--IO流(上)字符流
- Java基础--IO流之字符流
- java基础-IO-字符流、字节流
- java基础之字符流(IO流)
- java基础 之io流字符流
- Java基础17-IO之字符流
- 黑马程序员-java基础 io字符流
- java基础--IO字符流的读写
- 黑马程序员--java基础:字符IO流
- Java基础-IO学习之字符流
- JAVA基础IO-fileReader字符流
- java基础<IO输出与输入>--->IO流<字符流>
- 黑马程序员---Java基础--18天(IO流之一)
- Java搞基IO流的基础二三事之一
- Java中的IO基础学习小记之一
- java IO(字符流)
- Java Io 字符流
- Xen授权机制
- Centos 7 利用LVM实现动态扩容
- Java数组与排序问题
- 构造函数相互调用使用this指针
- 如何获取当前时间
- Java基础IO之一字符流
- Python http.server源码剖析(一)
- 求补码就是先找到倒数第一个1
- 为何全色影像分辨率高于多光谱影像分辨率
- Codeforces 817D Imbalanced Array【思维】好题!
- canvas实现图片压缩及复制
- MySQL零基础入门教程!
- html中的路径的介绍:绝对路径和相对路径
- 使用 ./a.out > log.txt 将log写入文件