栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

字符流操作

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

字符流操作

字符流

字符流会根据当前操作系统与语言环境选择适当的字符编码方式读写文件,适合读取文本文件。因为字符流会对文件内容编码,所以不能用于读取二进制文件;读文件使用文件输入流(FileReader)和缓存输入流(BufferedReader)

FileReader(文件输入流),BufferedReader(缓存输入流)

BufferedReader提供了按行读取文本文件的功能,一次读取一行,读到文件尾返回null

package io;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;




public class Fileread {
    public static void main(String[] args) {
        try {
            FileReader fileReader=new FileReader("E:\java学习\day20-IO流\课件\111111.txt");
            BufferedReader bufferedReader=new BufferedReader(fileReader);
            String s;
            //使用BufferReader的readline()的结果为String
            //如果使用fileReader的read()结果为byte
            while ((s= bufferedReader.readLine())!=null){
                System.out.println(s);
            }
            //关闭bufferReader即可
            bufferedReader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

结果:

FileWriter (文件输出流)与BufferedWriter(缓存输出流)

BufferedWriter提供了输出整个字符串的方法
注意:如果要输出换行符,不能简单的使用”n”,因为不同操作系统定义的换行符是不一样的,推荐使用BufferedWriter提供的newLine()方法输出换行

public class FileWriterDemo {	
    public static void main(String[] args) {	
        File f = new File("E:\java学习\day20-IO流\课件\111111.txt");
        try {
            FileWriter fw = new FileWriter(f);	
            BufferedWriter bw = new BufferedWriter(fw);
            bw.write("中文输出也没有问题");	
            //换行		
            bw.newLine();
            bw.write("换行推荐使用newLine()方法");
            bw.close();
        } catch (IOException e) {
        }
    }
} 
InputStreamReader和OutputStreamWriter(字节输入输出流)

InputStreamReader和OutputStreamWriter能够通过指定的编码形式将字节流转换为字符流,并进行读写操作。有两种情况需要使用字节输入输出流

  1. 不使用默认的字符编码格式,需要指定编码格式。
  2. 第三方提供了基于字节的流,想包装为基于字符的流。
    OutputStreamWriter类写入utf-8编码文件
public class OutputStreamWriterDemo {	
    public static void main(String[] args) {
        File f = new File("E:\java学习\day20-IO流\课件\111111.txt");
        try {
            FileOutputStream fr = new FileOutputStream(f);
            //传入fileoutstream对象,和编码格式
            OutputStreamWriter osw = new OutputStreamWriter(fr, "utf-8");
            BufferedWriter bw = new BufferedWriter(osw);
            //写入
            bw.write("轻轻的你来了,正如你轻轻的走");
            bw.newLine();
            bw.write("你挥一挥衣袖");
            //只需要关闭bufferedwriter
            bw.close();
            System.out.println("写入完毕");		
        } catch (FileNotFoundException e) {
        } catch (IOException e) {
        }
    }
} 

InputStreamReader读取utf-8编码文件

public class InputStreamReaderDemo {	
    public static void main(String[] args) {
        File f = new File("E:\java学习\day20-IO流\课件\111111.txt");	
        try {	
            FileInputStream fr = new FileInputStream(f);	
            InputStreamReader isr = new InputStreamReader(fr, "utf-8");	
            BufferedReader br = new BufferedReader(isr);	
            String s;	
            while ((s=br.readLine())!=null) {
                System.out.println(s);
            }
            br.close();
        } catch (FileNotFoundException e) {
        } catch (IOException e) {
        }
    }
} 
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1024890.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号