Java(07)转化流

查看API得知:

public class OutputStreamWriter extends Writer

public class InputStreamReader extends Reader

OutputStreamWriter:是Writer的子类,将输出的字符流转变为字节流;

InputStreamReader:是Reader的子类,将输入的字节流转变为字符流;

为什么要使用转换流?

操作字节流对于程序来说过于繁琐,程序员更偏爱操作字符。所以,当面对一些字节流的操作时,

我们可以将其转换为字符流再进行操作,这样便非常方便了。

需要注意的是:转换流同样使用了包装的思想,其构造方法接收的同样为IO流对象,并非某个文件资源。关闭转换流的同时即关闭了对应的字节流。

实例01:

package cn.itcast05;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class ZhuanHuanDemo01 {
    public static void main(String[] args) throws IOException {

        FileInputStream fis = new FileInputStream("a.txt");
        FileOutputStream fos = new FileOutputStream("a6.txt");

        InputStreamReader isr = new InputStreamReader(fis);
        OutputStreamWriter osw = new OutputStreamWriter(fos);

        int c;
        while((c=isr.read())!=-1)
        {
            osw.write(c);
        }
        isr.close();
        osw.close();
    }
}

  

时间: 2024-10-10 23:06:49

Java(07)转化流的相关文章

JAVA对象转化JSON出现死循环问题

主要是解决JSON因Hibernate映射生成的集合的转化出现的死循环问题. 这个方法很重要 1 public String ajaxJsonByObjectDirecdt(Object obj, String[] filterNames){ 2 JsonConfig jsonConfig = new JsonConfig(); 3 jsonConfig.setIgnoreDefaultExcludes(false); 4 jsonConfig.setCycleDetectionStrategy

java之IO流

知识点: java.io包中:类File:实现的接口:Serializable,Comparable<File> 含义:文件和目录路径名的抽象表示形式.  [抽象路径名 中第一个名称是目录名,抽象路径名中第一个名称之后每个名称都是表示一个目录,最后一个名称即可以表示目录也可以表示文件]  用户界面和操作系统使用与系统相关的 路径名字符串 来命名文件和目录.此类呈现分层路径名的一个抽象的.与系统无关的视图. 抽象路径名 有两部分组成: 1)一个可选的与系统相关的前缀字符串,比如盘符:"

Java I/O流学习笔记(二)

1. java中有两种类型的流,分别为字节流和字符流.jdk为字节流提供了:InputStream,OutputStream:为字符流提供了Reader以及Writer.    a. 文件在硬盘上的存储方式就是以byte的集合存储的,在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再储存这些字节到磁盘.在读取文件(特别是文本文件)         时,也是一个字节一个字节地读取.    b. 缓冲流,打印流,对象流,文件流,转换流2. 字符流和字节流的区别?   a. 流的概念:在程序中所

Java I/O流概念

一.流的分类 1. 按数据流动方向: 输入流:只能从中读取字节数据,而不能向其写出数据 输出流:只能向其写入字节数据,而不能从中读取数据 2. 按照流的数据类型: 字节流:用于处理字节数据,一次读入或读出是8位二进制. 字符流:用于处理Unicode字符数据,一次读入或读出是16位二进制. 3.按照实现功能不同可以分为: 节点流(低级流):从/向一个特定的IO设备读/写数据的流. 处理流(高级流):对已存在的流进行连接和封装的流. 二:java中io中常用的流 1.对文件进行操作: FileIn

Java中IO流的介绍

一.流的概念 流(stream)的概念源于UNIX中管道(pipe)的概念.在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备.外部文件等.       一个流,必有源端和目的端,它们可以是计算机内存的某些区域,也可以是磁盘文件,甚至可以是Internet上的某个URL.        流的方向是重要的,根据流的方向,流可分为两类:输入流和输出流.用户可以从输入流中读取信息,但不能写它.相反,对输出流,只能往输入流写,而不能读它.       实际上,流的源端和目

【JAVA的 IO流之FileInputStream和FileOutputStream】

java的 IO流即输入输出流,流是一组有顺序的,有起点和终点的字节结合,是对数据传输的总称.即数据在两设备间的传输称为流,流的本质是数据传输. IO流可以分为字节流和字符流.给出相应的IO结构图: 在接下来的一段时间里,将会慢慢介绍各种流的使用,本篇博客先介绍字节流的FileOutputStream和相对应的FileInputStream. 一.FileOutputStream(文件输出流) OutputStream是一个抽象类,抽象类必须通过子类实现.现在要向文件里输出就要用FileOutp

JAVA的节点流和处理流

节点流:可以从或向一个特定的地方(节点)读写数据.如FileReader. 处理流:是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写.如BufferedReader.处理流的构造方法总是要带一个其他的流对象做参数.一个流对象经过其他流的多次包装,称为流的链接. JAVA常用的节点流: 文 件 FileInputStream FileOutputStrean FileReader FileWriter 文件进行处理的节点流. 字符串 StringReader StringWri

java的Io流机制的学习

IO流机制 File类的使用 File类的构造方法 File(URI?uri) File(String?pathname) File(File?parent, String?child) File(String?parent, String?child) File类的常用方法 boolean exists():判断文件是否存在 boolean createNewFile() :创建一个新文件,只能创建一个文件,不能创建目录(文件夹),创建时先判断文件 是否存在 ,不存在则创建并返回true, 存

面试必备:详解Java I/O流,掌握这些就可以说精通了?

@TOC Java IO概述 IO就是输入/输出.Java IO类库基于抽象基础类InputStream和OutputStream构建了一套I/O体系,主要解决从数据源读入数据和将数据写入到目的地问题.我们把数据源和目的地可以理解为IO流的两端.当然,通常情况下,这两端可能是文件或者网络连接. 我们用下面的图描述下,加深理解: 从一种数据源中通过InputStream流对象读入数据到程序内存中 在这里插入图片描述 当然我们把上面的图再反向流程,就是OutputStream的示意了. 在这里插入图

Java 之IO流及应用

IO流 IO流概述及FileWriter类的使用 FileReader类使用 缓冲流介绍和使用 IO流相关案例 NO.one IO流概述及FileWriter类使用 1.1 IO流概述及分类 IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式 Java用于操作流的类都在IO包中 流按流向分为两种:输入流,输出流 1.2 FileWriter类使用 A:打开帮助文档 B:点击显示,找到索引,看到输入框 C:你要学习什么内容,你就在框框里面输入什么内容 举例:Random D:看包