Java IO流字符流

1.FileReader类的应用

package com.jsu.java;

import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;

public class Demo001 {
    public static void main(String[] args) throws IOException {
        StringBuffer stringBuffer = new StringBuffer(); //保存字符
        File file = new File("D:\\zsh\\aaa.txt");//创建文件对象
        Reader fr = null;
        fr = new FileReader(file);//实例化FileReader对象
        //从中读取若干字符并处理
        char [] cbuf = new char[1024];
        int hasData = 0;
        //从流中循环读取字符,hasData>0表示没有到流尾
        while((hasData = fr.read(cbuf))>0){
            stringBuffer.append(cbuf);//把读取的字符数组追加到StringBuffer对象
            System.out.println(stringBuffer.toString());//把StringBuffer对象转换成字符串并且输出
        }
        fr.close();//关闭输入流
    }
}

2.FileWriter类向文件追加内容

package com.jsu.java;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class Demo002 {
    public static void main(String[] args) throws IOException {
        File file = new File("D:\\zsh\\temp.txt");//建立文件对象
        FileWriter fileWriter = new FileWriter(file,true);//采用追加方式实例化字符

        String str1 = "Knowledge is power";
        String str2 = "爱国,敬业,诚信,友善";
        fileWriter.write(str1.toCharArray());//向输出流写入字符数组
        fileWriter.write(str2);//向输出流写入字符串
        fileWriter.close();//关闭输出流
    }
}

3.字符数组流

package com.jsu.java;

import java.io.CharArrayReader;
import java.io.CharArrayWriter;
import java.io.IOException;

public class Demo003 {
    public static void main(String[] args) throws IOException{
        char []buff = new char[]{'g','o','o','d','好','吗'};//字符数组
        CharArrayReader charArrayReader = new CharArrayReader(buff);//实例化字符数组输入流
        CharArrayWriter charArrayWriter = new CharArrayWriter();实例化字符数组输出流
        int temp;    //临时变量
        while((temp = charArrayReader.read()) != -1){//从字符数组输入流中循环读取字符
            charArrayWriter.write(Character.toUpperCase(temp));//向字符数组输出流写入已转换大写字母的字符
        }
        charArrayReader.close();//关闭字符数组输入流
        charArrayWriter.close();//关闭字符数组输出流
        System.out.println(charArrayWriter.toCharArray());//转换为字符数组并输出
    }
}

4.PrintWriter类的应用

package com.jsu.java;

import java.io.*;
import java.nio.Buffer;

public class Demo004 {
    public static void main(String[] args) throws IOException {
        String FileName = "D:\\zsh\\temp.txt";//目标文件名
        File file = new File(FileName);//实例化文件对象
        //使用装饰器模式实例化字符打印输出流对象
        PrintWriter printWriter = new PrintWriter(new BufferedWriter(new FileWriter(file)));
        //使用装饰器模式实例化字符缓冲输入流对象
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
        boolean flag = true;//设计循环标记位
        String temp = null;
        System.out.println("开始输入数据,直到stop停止输入");
        while(true){
            temp = bufferedReader.readLine();//读取一行数据
            if("stop".equals(temp)){
                break;//停止输入
            }
            printWriter.print(temp);//把读取的数据写到输出流
        }
        printWriter.flush();//把缓冲区的数据写到输出流
        bufferedReader.close();//关闭输入流
        printWriter.close();//关闭输出流
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值