转换流-读文本文件

转换流-读文本文件思维图:

%title插图%num

代码:

package cn.hiluna.demo;

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

/**
 * 转换流
 *  java.io.InputStreamReader 继承Reader
 *  字符输入流,读取文本文件
 *
 *  字节流向字符的桥梁,将字节流转为字符流使用,并且支持修改编码表
 *
 *  读取方法:
 *      read() 读取1个字符,读取字符数组
 *
 *  技巧:OutputStreamWriter写了文件
 *  InputStreamReader读取文件
 *
 *  OutputStreamWriter(OutputStream out)所有字节输出流
 *  InputStreamReader(InputStream in)接受所有字节输入流
 *      可以传递的字节输入流:FileInputStream
 *  InputStreamReader(InputStream in,String charsetName)
 */
public class InputStreamReaderDemo {
    public static void main(String[] args) throws IOException{
        readGBK();
        readUTF();
    }
    /**
     * 转换流,InputStreamReader读取文本文件
     * 读取UTF-8
     */
    public static void readUTF()throws IOException{
        //创建字节输入流
        FileInputStream fileInputStream = new FileInputStream("e:\\utf.txt");
        //创建一个转换流对象,构造方法中包装字节输入流
        InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream,"UTF-8");

        char[] ch = new char[1024];
        int len = inputStreamReader.read(ch);
        System.out.println(new String(ch,0,len));
        inputStreamReader.close();
    }
    /**
     * 转换流,InputStreamReader读取文本文件
     * 采用系统默认编码表,读取GBK
     */
    public static void readGBK()throws IOException {
        //创建字节输入流
        FileInputStream fileInputStream = new FileInputStream("e:\\GBK.txt");
        //创建一个转换流对象,构造方法中包装字节输入流
        InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream,"GBK");

        char[] ch = new char[1024];
        int len = inputStreamReader.read(ch);
        System.out.println(new String(ch,0,len));
        inputStreamReader.close();
    }
}



转换流写文本文件思维图片:

%title插图%num

代码:

package cn.hiluna.demo;

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

/**
 * 转换流
 *      java.io.OutputStreamWriter  继承Writer类
 *      就是一个字符输出流,写文本文件
 *      write(),字符,字符数组字符串
 *
 *      字符流通向字节流的桥梁,可以将字符流转换为字节流
 *
 *      OutputStreamWriter 使用方式
 *
 *      构造方法:
 *          OutputStreamWriter(OutputSteam out)接受所有的字节输出流
 *          但是:字节输出流:FileOutputStream
 *
 *          OutputStreamWriter(OutputSteam out,String charsetName)
 *          String charsetName 传递编码表名字 GBK  UTF-8
 *
 *          OutputStreamWriter 有个子类 FileWriter但是FileWriter无法制定编码表
 */
public class OutputStreamWriter {


    public static void main(String[] args)throws IOException {
        writeGBK();
        writeUFT();
    }
    /**
     * 转换流对象OutputSteamWriter谢文本
     * 采用UTF-8
     */
    public static void writeUFT()throws IOException{
        //创建字节输出流,绑定文件
        FileOutputStream fileOutputStream = new FileOutputStream("e:\\utf.txt");
        //创建转换流对象,构造方法包装字节输出流,并制定编码表为UFT-8
        java.io.OutputStreamWriter outputStreamWriter = new java.io.OutputStreamWriter(fileOutputStream,"UTF-8");
        outputStreamWriter.write("你好");
        outputStreamWriter.close();
    }

    /**
     * 使用转换流对象OutputSteamWriter写文本
     * 文本采用GBK的形式写入
     */
    public static void writeGBK()throws IOException {
        //创建字节输出流,绑定数据文件
        FileOutputStream fileOutputStream = new FileOutputStream("e:\\GBK.txt");
        //创建转换流对象,构造方法中,绑定字节输出流,使用GBK码表
        java.io.OutputStreamWriter outputStreamWriter = new java.io.OutputStreamWriter(fileOutputStream,"GBK");
        //转换流写数据
        outputStreamWriter.write("你好");
        outputStreamWriter.close();
    }
}

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇