zoukankan      html  css  js  c++  java
  • Java IO流(三) 字符流Reader和Writer

    Reader字符输入流
    Reader类有如下几个读数据会用到的方法:

    • int read():每次读取一个字符,并把它转换为 0~65535 的整数,然后返回读取到的字符。读到末尾返回-1。(为了提高 I/O 操作的效率,建议尽量使用下面两种read()方法)
    • int read(char[] cbuf):将读取到的多个字符存储到 cbuf 中,然后返回读取的字符,读到末尾时返回-1。
    • int read(char[] cbuf,int off,int len):将读取到的多个字符存储进字符数组 cbuf,从索引 off 开始,长度为len字符,返回结果为读取的字符数.

    Reader的子类FileReader是专门用于从文件中读取数据到程序中(内存)

    package com.mike.io.eg;
    
    import java.io.IOException;
    import java.io.File;
    import java.io.FileReader;
    import java.io.InputStreamReader;
    
    /**
     * @author mike
     * @date 2020-11-26
     * @desc 文件字符输入流demo
     */
    public class FileReaderDemo {
    	public static void main(String[] args) {
    		//定义输入流
    		FileReader fr = null;
    		try {
    			//创建文件对象
    			File file = new File("F:\foo.txt");
    			//2、创建输入流对象
    			fr = new FileReader(file);
    			int len = 0;
    			char[] buffer = new char[1]; //每次读取一个字符
    			while((len = fr.read(buffer)) != -1) {
    				System.out.println(new String(buffer,0,len));
    			}
    		} catch(IOException e) {
    			e.printStackTrace();
    		}finally {
    			try {
    				fr.close();
    			} catch (IOException e) {
    				e.printStackTrace();
    			}
    
    		}
    	}
    }
    
    

    输出结果

    FileWriter输出流
    Writer类有如下几个写数据会用到的方法:

    • void write(int c):把一个字符写入到文件中。
    • void write(char[] cbuf):把cbuf字符数组写入到文件中。
    • void write(char[] cbuf,int off,int len):把部分字符数组写入到文件中,从 cbuf 数组的 off 索引开始,写入len个字符。
    • void write(String str):把一个字符串写入到文件中。
    • void write(String str,int off,int len):把部分字符串写入到文件中,从 字符串的 off 索引开始,写入len个字符。

    Writer的子类FileWriter是专门用户从程序写入数据到文件中

    package com.mike.io.eg;
    
    import java.io.File;
    import java.io.IOException;
    import java.io.FileWriter;
    
    /**
     * @author mike
     * @date 2020-11-26
     * @desc 字符输出流demo
     */
    public class FileWriterDemo {
    	public static void main(String[] args) {
    		FileWriter fw = null;
    		try {
    			File file = new File("F:\foo.txt");
    			fw = new FileWriter(file);
    			fw.write("我是中国人");
    		} catch(IOException e) {
    			e.printStackTrace();
    		} finally {
    			try {
    				fw.close();
    			} catch (IOException e) {
    				e.printStackTrace();
    			}
    		}
    	}
    }
    
    

    输出结果

  • 相关阅读:
    第八周作业
    第八周上机练习
    第七周作业
    第七次上机练习
    第六周作业
    4.9上机作业
    第五周作业
    第四次JAVA作业
    第四周作业
    第十六次作业
  • 原文地址:https://www.cnblogs.com/gy1010/p/14050725.html
Copyright © 2011-2022 走看看