java 字节流转字符流
来源:互联网 发布:企业域名注册 编辑:程序博客网 时间:2024/06/05 18:02
1.文本是一种16位无符号整数,是字符unicode编码(双字节编码).
2.文件时byte byte byte ...的数据序列。
3.文本文件是 文本(char)序列按照某种编码方案(utf-8,gbk)序列化为byte的存储结果。
4. 字符流:(reader Writer) 输出/输入流、-------操作是文本文件
字符处理:一次处理一个字符。
InputStreamReader 完成文件(byte)流解析为文本(char)流,按照编码解析
OutputStreamWriter 提供文本(char) 流到文件(byte)流,按照编码处理.
package cn.lanz.stream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;public class IsrAndOswDemo {public static void main(String[] args) throws IOException {FileInputStream in=new FileInputStream("e:\\javaio\\lanz.txt");InputStreamReader isr=new InputStreamReader(in);//转为字符流FileOutputStream out=new FileOutputStream("e:\\javaio\\lanzs.txt");OutputStreamWriter osw=new OutputStreamWriter(out, "utf-8");/*int c;if((c=isr.read())!=-1){System.out.println((char)c);}*/char[] buffer=new char[8*1024];int a;while((a=isr.read(buffer,0,buffer.length))!=-1){String s=new String(buffer,0,a);System.out.println(s);osw.write(buffer, 0, a);osw.flush();}osw.close();out.close();isr.close();in.close();}}
package cn.lanz.stream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStreamReader;public class IsrAndOswDemo {public static void main(String[] args) throws IOException {FileInputStream in=new FileInputStream("e:\\javaio\\lanz.txt");InputStreamReader isr=new InputStreamReader(in);//转为字符流/*int c;if((c=isr.read())!=-1){System.out.println((char)c);}*/char[] buffer=new char[8*1024];int a;while((a=isr.read(buffer,0,buffer.length))!=-1){String s=new String(buffer,0,a);System.out.println(s);}isr.close();in.close();}}
5.FileReader / FileWriter
package cn.lanz.stream;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;public class FileRAndFileW {public static void main(String[] args) throws IOException {FileReader fr=new FileReader("e:\\javaio\\lanz.txt");//读取FileWriter fw=new FileWriter("e:\\javaio\\lanzs.txt",true);//写入 ,如果为 true,则将数据写入文件末尾处(追加),而不是写入文件开始处。char[] buffer=new char[2056];int c;while((c=fr.read(buffer, 0, buffer.length))!=-1){fw.write(buffer, 0, c);fw.flush();}fw.close();fr.close();}}
6.字符流过滤器
1.BufferedReader ------readLine 一次读取一行
2.BufferedWriter/PrintWriter ---写一行
package cn.lanz.stream;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.PrintWriter;public class BrAndBwOrPw {public static void main(String[] args) throws IOException {//对文件进行读写操作BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream("e:\\javaio\\lanz.txt")));//读取BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("e:\\javaio\\lanzs.txt")));//写入//PrintWriter pw=new PrintWriter("e:\\javaio\\lanzs.txt");//写入,方便String line;while((line=br.readLine())!=null){bw.write(line);//单独写出换行操作bw.newLine();bw.flush();//pw.print(line);//加了ln就是换行//pw.flush();}bw.close();br.close();}}
0 0
- java 字节流转字符流
- Java 字节流、字符流转换
- Java字符流与字节流转换
- 字节流转字符流
- 字节流转字符流
- Java字节字符流转换
- 字节流转换字符流
- 字节流转换成字符流
- 字节流转换字符流
- 字节流转换字符流
- java 字节流和字符流转换类InputStreamReader,OutPutStreamReader
- JAVA学习笔记(三十三)- 字节流转换为字符流
- java编程中字节流转换成字符流
- 流转换成字符,流转换成字节流。stream2String,stream2Bytes
- 字符流转换为字节流
- 字节流与字符流转换操作
- 字节流转换字符流实例
- 字节流转换字符流实例
- 七款代码味道识别工具【简介】
- UICollectionView详解之基础使用介绍
- Android手势识别器GestureDetector
- boost——字符串与文本处理string_algo(一)
- 计划任务
- java 字节流转字符流
- oneDay---(prime)-jdk与jre
- 输出指定位数
- 一道有趣的面试题
- AsyncTask 带进度条工具类
- adb 启动Activity、Service,发送Broadcast以及Android常用的adb指令
- 监听输入框时时输入内容
- LA3983 Robotruck
- HBase核心功能模块--读书笔记