`
hm4123660
  • 浏览: 282421 次
  • 性别: Icon_minigender_1
  • 来自: 广州
博客专栏
Dea4ce76-f328-3ab2-b24a-fb268e1eeb75
数据结构
浏览量:69994
社区版块
存档分类
最新评论

IO流之转换流OutputStreamWriter和InputStreamReader

    博客分类:
  • Java
阅读更多

         字符流的底层还是使用字节流实现的,所以字节流时刻转换为字符流的。转换流主要使用到

OutputStreamWriter:将字节输出流转换为字符输出流形式

InputStreamReader:将输入的字节流转换为字符流输入形式

 

 

1.OutputStreamWriter(字节输出流-->字符输出流)

          OutputStreamWriter是字节流通向字符流的桥梁。如果不指定字符集编码,该解码过程将使用平台默认的字符编码

 

构造方法:

OutputStreamWriter os = new OutputStreamWriter(OutputStream out);//构造一个默认编码集

OutputStreamWriter os= new OutputStreamWriter(OutputStream out,String charsetName);//构造一个指定编码集的OutputStreamWriter类。

示例代码:

public static void main(String[] args) {
      
    	 try {
    		       //构建一个字节输出流
			OutputStream os=new FileOutputStream("L:\\test.txt");
			
			String dataString="好好学习,天天向上!";
			//通过字节输出流创建字符输出流
			Writer w=new OutputStreamWriter(os);
			w.write(dataString);//输出到文件
			//关闭流
			w.close();
			os.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
   
    }  

 

2.InputStreamReader(字节输入流-->字符输入流)

 

       InputStreamReader 将字节流转换为字符流。是字节流通向字符流的桥梁。如果不指定字符集编码,该解码过程将使用平台默认的字符编码。

 

构造方法:

InputStreamReader isr = new InputStreamReader(InputStream in);//构造一个默认编码

InputStreamReader isr = new InputStreamReader(InputStream in,String charsetName);//构造一个指定编码集的InputStreamReader类。

 

示例代码:

public static void main(String[] args) {
      
    	 try {
    		 //构建一个字节输入流
			InputStream is=new FileInputStream("L:\\test.txt");
			//通过字节输入流构建字符输入流
			Reader r=new InputStreamReader(is);
			//顺便用下缓冲流
			BufferedReader br=new BufferedReader(r);
			//读出一行数据
			System.out.println(br.readLine());
			//关闭流
			br.close();
			r.close();
			is.close();
			
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
   
    }  

 运行结果:



 

 

  • 大小: 5.7 KB
3
3
分享到:
评论

相关推荐

    IO流 javaio java 流

    - 转换流(InputStreamReader/OutputStreamWriter):用于在字节流和字符流之间转换。 3. 处理流: - Filter流:这些流没有自己的数据源或目的地,而是包装其他流,提供额外的功能,如数据过滤、压缩等。例如,...

    Java-Io流,练习

    `InputStreamReader`和`OutputStreamWriter`就是这样的转换流,它们分别将字节流转换为字符流,反之亦然。 六、对象序列化流(Object Stream) Java还提供了一种特殊的流,即对象流,用于对象的序列化和反序列化。`...

    JavaIO实例_字节流_字符流_缓冲流_转换流IODemo

    在Java中,IO流分为两大类:字节流和字符流,每种流又有输入流和输出流之分,分别用于数据的读取和写入。 1. **字节流**: - 字节流处理的是8位的字节数据,是最基本的流类型。Java中的`InputStream`和`...

    Java基础篇:IO流.pdf

    Java IO流的使用涉及到流的打开、数据的读写操作和流的关闭。正确地使用流可以避免内存泄漏和其他资源问题。在实际开发中,通常会结合try-catch-finally语句来确保即使发生异常也能正确关闭流。 总结来说,Java IO...

    java之io流实例

    - InputStreamReader和OutputStreamWriter是字节流与字符流之间的桥梁,它们可以将字节流转换为字符流,反之亦然。 - 比如,我们可以通过InputStreamReader(FileInputStream)和PrintWriter(OutputStreamWriter)...

    IO流的主要流

    - **字符转换流**:InputStreamReader和OutputStreamWriter作为桥梁,用于在字节流和字符流之间进行转换,它们可以根据指定的字符集解码或编码数据。 - **字符缓冲流**:BufferedReader和BufferedWriter提供高效的...

    Java IO流总结

    Java IO流还提供了一些转换流,如InputStreamReader和OutputStreamWriter,它们可以将字节流与字符流之间进行转换。例如,通过InputStreamReader,我们可以将一个InputStream转换为Reader,从而处理字符数据。 除了...

    IO流pdf宝典

    例如,在创建`FileReader`或`FileWriter`时,可以通过传递`Charset`或使用相应的`InputStreamReader`和`OutputStreamWriter`来指定编码。 #### 八、OOP的继承性和装饰模式的区别 1. **继承性**:是面向对象编程的...

    IO流宝典.pdf

    管道流(PipedInputStream和PipedOutputStream)允许线程间的数据通信,而转换流(InputStreamReader和OutputStreamWriter)则在字节流和字符流之间起桥梁作用,允许它们互相连接。此外,Filter流(过滤流)如...

    java io流 案例

    转换流(Wrapper Stream)如InputStreamReader和OutputStreamWriter,用于在字节流和字符流之间进行转换。这些转换流允许我们指定字符编码,使得数据可以在不同的字符集之间正确传输。 过滤流(Filter Stream)是一...

    io流的全部课件io流是java非常重要的一部分,所以给大家分享一下

    5. 复用流(Filter Stream):这些是带有额外功能的流,如BufferedInputStream和BufferedOutputStream提供缓冲,InputStreamReader和OutputStreamWriter进行字符编码转换,PrintStream用于方便的打印输出。...

    io流详解代码

    - 转换流:InputStreamReader和OutputStreamWriter用于在字节流和字符流之间转换。 3. **复制文件**: - 使用`java.nio.file.Files`类的`copy`方法可以方便地实现文件复制,也可以通过字节流或字符流的组合实现...

    Java-IO流基础例题 & 例题源码 & PPT教学文档(黑马程序员详细版).rar

    四、转换流( InputStreamReader 和 OutputStreamWriter ) Java的字符流与字节流之间可以通过转换流进行转换。InputStreamReader是字符流的父类,它接受一个字节流并将其转换为字符流;OutputStreamWriter则相反,...

    《JAVA_IO流学习总结》

    - InputStreamReader和OutputStreamWriter作为字节流和字符流之间的桥梁,可以根据指定的字符集进行转换。 五、对象序列化流 - ObjectInputStream和ObjectOutputStream实现了Java对象的序列化和反序列化,使得对象...

    586.584.JAVA基础教程_IO流-IO流的体系结构(586).rar

    在Java IO流体系结构中,还有一类特殊的流,叫做转换流(InputStreamReader/OutputStreamWriter),它们位于字节流和字符流之间,负责将字节流转换为字符流,或者反之。 3. 链接流(PipedStream):允许线程间的...

    Java IO流 总结

    在Java IO流中,节点流是指离数据源或程序最近的流处理流,主要有两种类型:字节流和字符流。字节流可以处理一切类型的数据,如纯文本、音频、视频等,而字符流只能处理纯文本数据。 2. 字节流: 字节流是Java IO...

    JavaIO实例|字节流|字符流|缓冲流|转换流IODemo

    字符流由Reader和Writer类族构成,如InputStreamReader和OutputStreamWriter,它们分别用于将字节流转换为字符流。字符流在处理Unicode字符集时特别有用,因为它可以正确处理多种语言的字符编码。例如,使用 ...

    Java IO流文档

    为了支持不同类型的流之间的互操作,Java提供了`InputStreamReader`和`OutputStreamWriter`来实现从字节流到字符流的转换。 - **InputStreamReader**:将字节流转换为字符流。 - **OutputStreamWriter**:将字符...

    io流详解,字符流和字节流代码

    - **InputStreamReader/OutputStreamWriter**:在字节流和字符流之间起转换作用,可以指定字符编码,如GBK、UTF-8等。 4. **对象流**: - **ObjectInputStream/ObjectOutputStream**:支持序列化,允许程序将对象...

    java io 流,文件读取操作

    常见的转换流类型有 InputStreamReader 和 OutputStreamWriter。 十、数据流与字节数组流 数据流是一种特殊的流类型,用于存取 Java 原始数据类型,如 long、boolean 等。数据流是字节流,提供了可以存取 Java ...

Global site tag (gtag.js) - Google Analytics