package seday07;

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

/**
* @author xingsir
* 字符流
* java将流按照读写数据的单位画分为了两类:
字节流:以字节为单位读写数据,超类:InputStream,OutputStream
字符流:以字符为单位读写数据,超类:Reader,Writer
*
* 字符流底层实际还是按照字节形式读写,但是字符与字节的转换操作字符流自行完成。所以字符流只适合读写文本数据。
*
* 转换流
* java.io.OutputStreamWriter
* java.io.InputStreamReader
* 转换流是一对高级流,是可以连接在字节流上的字符流。实际应用中当我们读写文本数据时通常不会直接操作这对流,
但是他们在流连接中是非常重要的一环。
*/
public class OSWDemo {

public static void main(String[] args) throws IOException{
//先创建一个文件osw.txt

FileOutputStream fos=new FileOutputStream("osw.txt");//文件流写操作
/*
* 如果不指定第二个参数,则是按照系统默认字符集
* 将写出的文本数据转换为字节,指定后则按照指定 的字符集转换
*/
OutputStreamWriter osw =new OutputStreamWriter(fos,"gbk");//指定为gbk
osw.write("大河向东流");
osw.write("天上的星星参北斗");
osw.write("说走,咱就走");

System.out.println("写出完毕");
osw.close();

}

}

//============================================================================

package seday07;

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

/**
* @author xingsir
* 读取文本数据,InputStreamReader
*/
public class ISRDemo {

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

FileInputStream fis =new FileInputStream("osw.txt");//文件流读操作
//读取文本数据
InputStreamReader isr =new InputStreamReader(fis);
//一次读取一个字符
int len=-1;
while ((len=isr.read())!=-1) {
System.out.print((char)len);//转换成char类型

}
isr.close();//关闭
}

}

转换流读写操作 java.io.OutputStreamWriter ,java.io.InputStreamReader的更多相关文章

  1. 在c#中IO流读写操作

    1.使用FileStream读写文件 文件头: using System;using System.Collections.Generic;using System.Text;using System ...

  2. io流读写操作

    /** * * DOC 将F盘下的test.jpg文件,读取后,再存到E盘下面. * * @param args * @throws Exception */ public static void m ...

  3. JAVA-IO操作,字节-字符转换流

    掌握OutputStreamWriter和InputStreamReader类的作用 一般操作输入输出内容的时候,就需要使用字节或字符流,但是,有些时候,需要将字符流变成字节流形式,或者字节流变成字符 ...

  4. Java 基础 IO流(转换流,缓冲)

    一,前言 在学习字符流(FileReader.FileWriter)的时候,其中说如果需要指定编码和缓冲区大小时,可以在字节流的基础上,构造一个InputStreamReader或者OutputStr ...

  5. java学习(九) —— java中的File文件操作及IO流概述

    前言 流是干什么的:为了永久性的保存数据. IO流用来处理设备之间的数据传输(上传和下载文件) java对数据的操作是通过流的方式. java用于操作流的对象都在IO包中. java IO系统的学习, ...

  6. Java IO和Java NIO在文件拷贝上的性能差异分析

    1.  在JAVA传统的IO系统中,读取磁盘文件数据的过程如下: 以FileInputStream类为例,该类有一个read(byte b[])方法,byte b[]是我们要存储读取到用户空间的缓冲区 ...

  7. [Day24]IO(转换流、缓冲流)

    1. 转换流 1.1 OutputStreamWriter类-字符流通向字节流的桥梁,可使用指定的字符编码表,将要写入流中的字符编码成字节. 1.2 InputStreamReader类-字节流通向字 ...

  8. Java IO和Java NIO 和通道 在文件拷贝上的性能差异分析

    1.  在JAVA传统的IO系统中,读取磁盘文件数据的过程如下: 以FileInputStream类为例,该类有一个read(byte b[])方法,byte b[]是我们要存储读取到用户空间的缓冲区 ...

  9. 转换流的原理和OutputStreamWriter介绍&代码实现

    转换流的原理 OutputStreamWriter介绍&代码实现 package com.yang.Test.ReverseStream; import java.io.FileNotFoun ...

随机推荐

  1. Dynamics 365 Portal 多语言

    Dynamics 365 Portal 的多语言分两种情况: 1.通过定义两套记录来实现,如Web Link Set.Snippet Content,都是定义两套记录,分别关联不同的语言来实现 Web ...

  2. github克隆项目缓慢

    github浏览或者克隆项目的时候,总是十分缓慢,下面是亲自自测的一种方式,克隆速度可以稍快一些 第一步 访问域名解析网站:https://www.ipaddress.com/ 在网页下方可以看见一个 ...

  3. Linux Redis 安装(带视频)

    疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 疯狂创客圈 高并 ...

  4. java开发,入职半年。对未来迷茫,如何发展?

    蛮多人私密我一些问题,关于面试,关于技术的,我只能说有些路只能靠自己去走,没人可以帮到自己,哪怕偶尔帮一到两次,但是技术的路这么长,总归需要自己独自成长的.附一张自己藏书的照片,与各位共勉 工作三年多 ...

  5. 1001 害死人不偿命的(3n+1)猜想 (15 分)

    卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把 (3n+1) 砍掉一半.这样一直反复砍下去,最后一定在某一步得到 n=1.卡拉兹在 1950 ...

  6. Azure 上的高可用概念

    更多内容,添加公众号关注: 场景一: 某智能家居厂家,用户喊出“小X同学,帮我扫地”后,服务器宕机了,扫地机器人不能立即启动,于是,用户可能再连续喊几次后,无奈又习惯的按下了扫地机器人的启动按钮. 场 ...

  7. 【每天一题】LeetCode 0028. 字符串匹配

    开源地址:https://github.com/jiauzhang/algorithms 题目描述 * https://leetcode-cn.com/problems/implement-strst ...

  8. 1.编译spring源码

    本文是作者原创,版权归作者所有.若要转载,请注明出处 下载spring源码,本文用的是版本如下: springframework 5.1.x,   IDE工具idea 2019.2.3    JAVA ...

  9. mysql 排它锁之行锁、间隙锁、后码锁

    MySQL InnoDB支持三种行锁定 行锁(Record Lock):锁直接加在索引记录上面,锁住的是key. 间隙锁(Gap Lock):锁定索引记录间隙,确保索引记录的间隙不变.间隙锁是针对事务 ...

  10. C#版本与.NET版本对应关系以及各版本的特性

    C#版本 .NET版本 发布日期 特性 C# 1.0 .NET Framework 1.0 2002-02-13 委托.事件 C# 1.1 .NET Framework 1.1 2003-04-24 ...