Fork me on GitHub

IO-----字符流

一,字符流写数据

    1.步骤:

  1. 创建字符输出流对象
  2. 写数据
  3. 释放资源                     

                     注意事项:每次使用完必须收放资源,如果文件不存在就创建,但要保证父路径存在,如果文件年存在就清空,写int类型整数实际写出的是对应码表上的字母,写字符串数据,是字符串本身原样输出。

二,flush和close方法

       

flush和close方法
方法 说明
flush() 刷新流还可以继续写数据
close() 关闭流释放资源,但是在关闭之前会刷新流,一旦关闭就不能再写数据

 

三,练习

package com.guancun.fileoutputstream.charstream;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;

public class CharStreamPractice {
    public static void main(String[] args) throws IOException {
//将账号密码写入指定的文件中
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入账号:");
        String name = scanner.next();
        StringBuilder stringBuilder = new StringBuilder("账号:");
        stringBuilder.append(name).append("\r\n");
        System.out.println("请输入密码:");
        String pw = scanner.next();
        stringBuilder.append("密码:"+pw);
        FileWriter fileWriter = new FileWriter("a.txt");

          fileWriter.write(stringBuilder.toString());
          fileWriter.close();

    }
}

四,字符缓冲流

   Bufferedwriter:可以将数据高效写出

   BufferedReader:可以将数据高效的读取到内存

   构造方法:

               Bufferedwriter(writer out)

               BufferedReader(writer in)

 

 

 

 

BufferedReader

package com.guancun.fileoutputstream.bufferedreader;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
//bufferReader特有方法readLine();一次读一整行
public class Readerdemoe2 {
    public static void main(String[] args) throws IOException {
        BufferedReader bufferedReader = new BufferedReader(new FileReader("a.txt"));
                  String line;
                    while ((line=bufferedReader.readLine())!=null){
                        System.out.println(line);
                    }
                    bufferedReader.close();
    }
}

 Bufferedwriter

package com.guancun.fileoutputstream.bufferedreader;

import java.io.*;
//bufferwriter特有方法newLine();换行
public class Writerdemoe1 {
    public static void main(String[] args) throws IOException {
        BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter("a.txt"));
        bufferedWriter.write("我在你");
        bufferedWriter.newLine();
        bufferedWriter.write("离开的时候成长了");
bufferedWriter.close();
    }
}

五,字符缓冲流特有功能

           BufferedWriter:             void newLine()   :写一行行分隔符,行分隔符字符串由系统属性定义

           BufferedReader:             readLine   :读一行文字,结果包含行的内容的字符串,不包括任何行终止字符,如果结尾已经到达,则为NULL.

posted @ 2021-05-24 10:43  风をした  阅读(83)  评论(0)    收藏  举报