JAVA学习笔记(三十三)- 字节流转换为字符流
2015-03-28 08:19
501 查看
将字节流转换为字符流
import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; /* * InputStreamReader和OutputStreamWriter类 * 用来将字节流转换为字符流 * * 注:Java中没有提供将字符流转换为字节流的方法 */ public class Test04 { public static void main(String[] args) throws IOException { test2(); } // 将文件字节输入流转换为字符流 public static void test1() throws IOException { // 定义文件字节输入流 InputStream is = new FileInputStream("D:\\Java\\hello.txt"); // 将其转换为字符流 InputStreamReader isr = new InputStreamReader(is); int data; while ((data = isr.read()) != -1) { System.out.println((char) data); } isr.close(); is.close(); } // 将文件字节输出流转换字符流 public static void test2() throws IOException { // 定义文件字节输出流 OutputStream os = new FileOutputStream("D:\\Java\\hello.txt"); // 将其转换为字符流,指定写入时使用的编码 OutputStreamWriter osw = new OutputStreamWriter(os, "gbk"); //将标准字节输入流转换为字符流,指定读取时使用的编码 InputStreamReader isr = new InputStreamReader(System.in, "gbk"); int data; System.out.println("请输入数据:"); while((data=isr.read())!='q'){ osw.write(data); osw.flush(); } isr.close(); os.close(); } }
为字符输入输出流添加缓冲
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; /* * BufferedReader和BufferedWriter缓冲流 * 为字符输入输出流添加缓冲 */ public class Test05 { public static void main(String[] args) throws IOException { test2(); } // 为字符输入流添加缓冲 public static void test1() throws IOException { // 将标准字节输入流转换为字符流 InputStreamReader isr = new InputStreamReader(System.in, "gbk"); // 为字符输入流添加缓冲 BufferedReader br = new BufferedReader(isr); System.out.println("请输入数据:"); String str = null; while ((str = br.readLine()) != null) { System.out.println(str); } br.close(); isr.close(); } // 使用缓冲流复制文件 public static void test2() throws IOException { // 定义一个文件字符输入流 FileReader fr = new FileReader("D:\\Java\\hello.txt"); // 为输入流添加缓冲 BufferedReader br = new BufferedReader(fr); // 定义一个文件字符输出流 FileWriter fw = new FileWriter("D:\\Java\\world.txt"); // 为输出流添加缓冲 BufferedWriter bw = new BufferedWriter(fw); String str = null; while ((str = br.readLine()) != null) { bw.write(str); } bw.flush(); System.out.println("文件复制成功!"); bw.close(); br.close(); } }
相关文章推荐
- 【Java学习笔记】25:转换流(从字节流到字符流的转换)
- Java学习笔记之输入输出流(一) File、文件字节流、文件字符流
- Java IO学习笔记之字节流和字符流
- 黑马程序员________Java中IO技术字节流字符流的应用及File类学习笔记
- Java编程思想学习笔记2 - 字节流和字符流
- Java字节流和字符流学习和笔记——黑马训练营
- Java IO学习笔记(三):字节流与字符流
- Java IO学习笔记(三):字节流与字符流
- 黑马程序员 java学习笔记 Day5:IO流、字符流、字节流
- Java学习笔记(55)----------字节流与字符流
- Java基础学习总结(14)---File类、字节流与字符流、字节字符转换流
- Java IO学习笔记(四):字节-字符转换流
- Java 字符流和字节流-学习笔记
- Java IO学习笔记(三):字节流与字符流
- Java IO学习笔记(三):字节流与字符流
- 12. JAVA IO Party 1 (目标、File类、RandomAccessFile类、字节流和字符流、转换流) ----- 学习笔记
- java学习之字符流与字节流的转换
- Java IO学习笔记(三):字节流与字符流
- Java IO学习1:字节流与字符流
- java IO (四) 字节流与字符流之间的转换