转换流
来源:互联网 发布:手机上怎么改淘宝评价 编辑:程序博客网 时间:2024/06/06 09:24
1. InputStreamReader
是Reader的子类,字符流对象,字节流向字符的桥梁。InputStreamReader有一个子类就是FileReader字节转成字符流。
构造方法:InputStreamReader(InputStream in)传递字节输入流,变成字符流
代码:
/* * 转换流,将字节转成字符流 * 实现读取一行的功能 * System.in * InputStreamReader--字节变字符,Reader的子类 * BufferedReader */import java.io.*;public class TranseDemo {public static void main(String[] args)throws IOException {//获取键盘输入的字节流InputStream in = System.in;//将键盘输入流,字节流in,转成字符流,//InputStreamReader构造方法中,传递字节输入流、InputStreamReader isr = new InputStreamReader(in);//可以使用字符流缓冲区读取一行BufferedReader bfr = new BufferedReader(isr);String line = null;while((line = bfr.readLine())!=null){if("over".equals(line))break;System.out.println(line.toUpperCase());}bfr.close();}}
2. 控制台输出 System.out
System类的静态成员变量public static final PrintStream out;返回打印流对象,知道的是打印流对象也是字节输出流OutputStream的子类。
上面的程序,readLine()读取到的字符,不能直接写到字节输出流中,将字符流数据,转成字节流数据,写回控制台
3. OutputStreamWriter 是Writer的子类,字符流对象,字符流向字节的桥梁
OutputStreamWriter构造方法,传递的是字节输出流,System.out
代码:
import java.io.*;public class TranseDemo{public static void main(String[] args) throws IOException{//获取键盘输入的字节流InputStream in = System.in;//将键盘输入流,字节流in,转成字符流,InputStreamReader构造方法中,传递字节输入流、InputStreamReader isr = new InputStreamReader(in);//可以使用字符流缓冲区读取一行BufferedReader bfr = new BufferedReader(isr);//将读取到的readline()的数据输出到控制台,数据是一个字符流//输出数据的目的 System.out;//获得字节输出流对象OutputStream out = System.out;//将字符流转成字节流OutputStreamWriter osw = new OutputStreamWriter(out);//OutputStreamWriter是字符流,可以使用字符流缓冲区对象操作,//实现写换行BufferedWriter bfw = new BufferedWriter(osw);String line = null;while((line = bfr.readLine())!=null){if("over".equals(line))break;bfw.write(line.toUpperCase());bfw.newLine();bfw.flush();}bfw.close();bfr.close();}}
4. 转换流的案例
1)读取键盘输入,输入后的内容,转成大写,保存在一个记事本中
代码:
import java.io.*;public class TranseDemo {public static void main(String[] args)throws IOException {InputStream in = System.in;//键盘输入InputStreamReader isr = new InputStreamReader(in);BufferedReader bfr = new BufferedReader(isr);OutputStream out = new FileOutputStream("c:\\upper.txt");OutputStreamWriter osw = new OutputStreamWriter(out);BufferedWriter bfw = new BufferedWriter(osw);String line = null;while((line = bfr.readLine())!=null){if("over".equalsIgnoreCase(line))break;bfw.write(line.toUpperCase());bfw.newLine();bfw.flush();}bfw.close();bfr.close();}}
2)读取一个文本文件,转大写后,输出在控制台
代码:
import java.io.*;public class TranseDemo{public static void main(String[] args)throws IOException {InputStream in = new FileInputStream("src\\cn\\itcast\\iostream\\copytext3.java");InputStreamReader isr = new InputStreamReader(in);BufferedReader bfr = new BufferedReader(isr);OutputStream out = System.out;OutputStreamWriter osw = new OutputStreamWriter(out);BufferedWriter bfw = new BufferedWriter(osw);String line = null;while((line = bfr.readLine())!=null){if("over".equalsIgnoreCase(line))break;bfw.write(line.toUpperCase());bfw.newLine();bfw.flush();}bfw.close();bfr.close();}}
3)读取一个文本文件,转大写后,输出在另一个文件中
import java.io.*;public class TranseDemo{public static void main(String[] args)throws IOException {InputStream in = new FileInputStream("src\\cn\\itcast\\iostream\\copytext3.java");InputStreamReader isr = new InputStreamReader(in);BufferedReader bfr = new BufferedReader(isr);OutputStream out = new FileOutputStream("c:\\123.java");OutputStreamWriter osw = new OutputStreamWriter(out);BufferedWriter bfw = new BufferedWriter(osw);String line = null;while((line = bfr.readLine())!=null){if("over".equalsIgnoreCase(line))break;bfw.write(line.toUpperCase());bfw.newLine();bfw.flush();}bfw.close();bfr.close();}}
0 0
- 转换流
- 转换流
- 转换流
- 转换流
- 转换流
- 转换流
- 转换流
- 转换流
- 转换流
- 转换流
- 转换流
- 转换流
- 转换流
- 转换流
- JavaIO流(转换流)
- 关于 流的转换
- IO数据类型转换流
- 流类数据转换
- python super()
- 网页图片无缝循环滚动html代码
- 笔记71--OOM问题解决方案
- uva 11551 - Experienced Endeavour(矩阵快速幂)
- kmp算法
- 转换流
- .h头文件、 .lib库文件、 .dll动态链接库文件之间的关系
- Codeforces 38G Queue 伸展树
- 【java基础】[数组]
- Java进阶之欧拉工程 第十四篇【 最长的collatz序列】
- 数据结构:堆
- Adapter——notifyDataSetChanged
- uva 1546 - Complete the sequence!(牛顿插值法)
- 关于STM32中RTC的校准方法