😸

プログラミング自主学習 DAY79 BufferedWriter・Reader

2023/08/14に公開

BufferedWriter/Reader

先日。BufferedInputStream, BufferedOutputStreamについて、勉強してみました。
https://zenn.dev/eldorado215/articles/4f25321e0b70e6

BufferedI/OStreamがfile,jpg,wmvなどのデーター(byte)I/Oを効率的に扱うことができます。
その反面、BufferedReader/BufferedWriterは、文字に扱うことに特化しています。

特徴としては、FileReader/WriterとInputStreamReader/OutputStreamWriterがchar単位で文字を処理ことに比べ、BufferedWriter/Readerは、Line単位で文字を扱うことができます。
一つのBufferに最大8000時以上の文字を扱えるとも言われておりますので、韓国語と日本語であれば、16000bytesを一機に扱えることになります。

間違いがあったぜひ教えてください!


import java.io.*;

public class ReadLineExample {

public static void main(String[] args) {
    try(BufferedReader br = new BufferedReader(new FileReader("src/ch18/sec07/exam02/ReadLineExample.java"))){
		
        String str;
        int lineNo = 1;
        while((str = br.readLine()) != null) {
   	System.out.println(lineNo++ + "\t" + str);
      	}
     }catch (Exception e) {
	e.printStackTrace();
     }
 }
}
1	package ch18.sec07.exam02;
2	
3	import java.io.*;
4	
5	public class ReadLineExample {
6	
7		public static void main(String[] args) {
8			try(BufferedReader br = new BufferedReader(new FileReader("src/ch18/sec07/exam02/ReadLineExample.java"))){
9			
10				String str;
11				int lineNo = 1;
12				while((str = br.readLine()) != null) {
13					System.out.println(lineNo++ + "\t" + str);
14				}
15			}catch (Exception e) {
16				e.printStackTrace();
17			}
18	}
19	}

Discussion