InputStreamReader 和 OutputStreamWriter类使用方法简单介绍。
InputStreamReader 将字节流转换为字符流。是字节流通向字符流的桥梁。假设不指定字符集编码,该解码过程将使用平台默认的字符编码,如:GBK。
构造方法:
InputStreamReader isr = new InputStreamReader(InputStream in);//构造一个默认编码集的InputStreamReader类
InputStreamReader isr = new InputStreamReader(InputStream in,String charsetName);//构造一个指定编码集的InputStreamReader类。
參数 in对象通过 InputStream in = System.in;获得。//读取键盘上的数据。
主要方法:int read();//读取单个字符。
int read(char []cbuf);//将读取到的字符存到数组中。返回读取的字符数。
public static void transReadNoBuf() throws IOException { 
 / 
 * 没有缓冲区,仅仅能使用read()方法。 
 */ 
 //读取字节流 
 // InputStream in = System.in;//读取键盘的输入。 
 InputStream in = new FileInputStream("D:\demo.txt");//读取文件的数据。 
 //将字节流向字符流的转换。要启用从字节到字符的有效转换,能够提前从底层流读取很多其它的字节. 
 InputStreamReader isr = new InputStreamReader(in);//读取 
 // InputStreamReader isr = new InputStreamReader(new FileInputStream("D:\demo.txt"));//综合到一句。
// InputStream in = System.in;//读取键盘上的数据 
 InputStream in = new FileInputStream("D:\demo.txt");//读取文件上的数据。 
 //将字节流向字符流的转换。 
 InputStreamReader isr = new InputStreamReader(in);//读取 
 //创建字符流缓冲区 
 BufferedReader bufr = new BufferedReader(isr);//缓冲 
 // BufferedReader bufr = new BufferedReader(new InputStreamReader(new FileInputStream("D:\demo.txt")));能够综合到一句。 
 /* int ch =0; 
 ch = bufr.read(); 
 System.out.println((char)ch);*/ 
 String line = null; 
 while((line = bufr.readLine())!=null){ 
 System.out.println(line); 
 } 
 isr.close(); 
 }
OutputStreamWriter 将字节流转换为字符流。是字节流通向字符流的桥梁。假设不指定字符集编码,该解码过程将使用平台默认的字符编码,如:GBK。
构造方法:
參数 out对象通过 InputStream out = System.out;获得。//打印到控制台上。
主要方法:void write(int c);//将单个字符写入。
viod write(String str,int off,int len);//将字符串某部分写入。
void flush();//将该流中的缓冲数据刷到目的地中去。
// OutputStream out = new FileOutputStream("D:\demo.txt");//打印到文件 
 OutputStreamWriter osr = new OutputStreamWriter(out);//输出 
 // OutputStreamWriter osr = new OutputStreamWriter(new FileOutputStream("D:\demo.txt"));//两句能够综合到一句。 
 // int ch = 97;//a 
 // int ch = 20320;//你 
 // osr.write(ch); 
 String str = "你好吗?";//你好吗? 
 osr.write(str); 
 osr.flush(); 
 osr.close(); 
 } 
 public static void transWriteByBuf() throws IOException { 
 // OutputStream out = System.out;//打印到控制台。 
 OutputStream out = new FileOutputStream("D:\demo.txt");//打印到文件。 
 OutputStreamWriter osr = new OutputStreamWriter(out);//输出 
 // OutputStreamWriter osr = new OutputStreamWriter(new FileOutputStream("D:\demo.txt"));//综合到一句。 
 BufferedWriter bufw = new BufferedWriter(osr);//缓冲 
 // int ch = 97;//a 
 // int ch = 20320;//你 
 // osr.write(ch); 
 String str = "你好吗? 我非常好!";//你好吗? 
 bufw.write(str); 
 bufw.flush(); 
 bufw.close(); 
 }
流转换程序1:
package IOtest;
import java.io.BufferedReader; 
 import java.io.BufferedWriter; 
 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;
public class TransStreamtest {
// transReadByBuf(); 
 // transReadNoBuf(); 
 transWriteNoBuf(); 
 // transWriteByBuf();
// OutputStream out = new FileOutputStream("D:\demo.txt");//打印到文件 
 OutputStreamWriter osr = new OutputStreamWriter(out);//输出 
 // OutputStreamWriter osr = new OutputStreamWriter(new FileOutputStream("D:\demo.txt"));//两句能够综合到一句。 
 // int ch = 97;//a 
 // int ch = 20320;//你 
 // osr.write(ch); 
 String str = "你好吗?";//你好吗? 
 osr.write(str); 
 osr.flush(); 
 osr.close(); 
 } 
 public static void transWriteByBuf() throws IOException { 
 // OutputStream out = System.out;//打印到控制台。 
 OutputStream out = new FileOutputStream("D:\demo.txt");//打印到文件。 
 OutputStreamWriter osr = new OutputStreamWriter(out);//输出 
 // OutputStreamWriter osr = new OutputStreamWriter(new FileOutputStream("D:\demo.txt"));//综合到一句。 
 BufferedWriter bufw = new BufferedWriter(osr);//缓冲 
 // int ch = 97;//a 
 // int ch = 20320;//你 
 // osr.write(ch); 
 String str = "你好吗? 我非常好!";//你好吗? 
 bufw.write(str); 
 bufw.flush(); 
 bufw.close(); 
 }
// InputStream in = System.in;//读取键盘的输入。 
 InputStream in = new FileInputStream("D:\demo.txt");//读取文件的数据。 
 //将字节流向字符流的转换。要启用从字节到字符的有效转换,能够提前从底层流读取很多其它的字节. 
 InputStreamReader isr = new InputStreamReader(in);//读取 
 // InputStreamReader isr = new InputStreamReader(new FileInputStream("D:\demo.txt"));//综合到一句。
// InputStream in = System.in;//读取键盘上的数据 
 InputStream in = new FileInputStream("D:\demo.txt");//读取文件上的数据。 
 //将字节流向字符流的转换。 
 InputStreamReader isr = new InputStreamReader(in);//读取 
 //创建字符流缓冲区 
 BufferedReader bufr = new BufferedReader(isr);//缓冲 
 // BufferedReader bufr = new BufferedReader(new InputStreamReader(new FileInputStream("D:\demo.txt")));能够综合到一句。 
 /* int ch =0; 
 ch = bufr.read(); 
 System.out.println((char)ch);*/ 
 String line = null; 
 while((line = bufr.readLine())!=null){ 
 System.out.println(line); 
 } 
 isr.close(); 
 } 
 }
流转换程序2:
package readKey;
import java.io.FileInputStream; 
 import java.io.FileOutputStream; 
 import java.io.FileReader; 
 import java.io.FileWriter; 
 import java.io.IOException; 
 import java.io.InputStreamReader; 
 import java.io.OutputStreamWriter;
public class TransStreamDemo3 {
// writeText_1(); 
 // writeText_2(); 
 // writeText_3(); 
 // ReadTest_1(); 
 // ReadTest_2(); 
 // ReadTest_3();
}
到此这篇bytebuf 读取所有数据(bufferedreader读取byte)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/sjkxydsj/28230.html