質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

受付中

Java BufferedReaderを使うメリットについて知りたいです。

Daikichi_ttt
Daikichi_ttt

総合スコア0

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0回答

0評価

0クリップ

12閲覧

投稿2021/06/08 06:09

編集2022/01/12 10:55

###テキストファイルを読み込む方法を学習していて、BufferedReaderクラスを使うメリットについて考えています。

Javaを学習し始めて2週間の初心者です。
テキストファイルを読み込む時になぜBufferedReaderクラスを使うのか、そのメリットについて調べることになりました。
以下が、そのコードです。

java

import java.io.*; public static void main(String[] args) { try { File file = new File("sample.csv"); FileReader fr = new FileReader(file); BufferedReader br = new BufferedReader(fr); String line; while((line = br.readLine()) != null) { System.out.println(line); } br.close(); } catch(IOException e) { e.printStackTrace(); } }

調べてみると、
1.BufferedReaderクラスにはreadLineメソッドが用意されており、FileReaderクラスをラップして使用することで、テキストをバッファリングして効率よく読み込むことができる。

2.InputStreamReader及びFileInputStreamクラスをラップして使用することで、テキストファイルの文字コードを指定または変換して読み込むことができる。

ことが分かりました。

他にもプログラムを書く上で使うメリットがありましたら、ご教示ください。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

m.ts10806
m.ts10806

2021/06/08 06:10

何をするときの当該クラスなのか 比較対象は とか諸々前提や背景、要件が質問本文に必要と思います
K_3578
K_3578

2021/06/08 07:28 編集

状況によってBufferedReaderを使うのがベターならば使う、他に向いてる物があるときは使わない、 それだけだと思います。 現状質問文に書かれている質問者さんの解釈で全てかなと私は思っていますので それ以上何が知りたいのかわかりません。 (2021/06/08 16:09)のroot_jpさんのコメントを受けて、誤解を招くような表現を訂正、 コメント自体を修正しました。
Daikichi_ttt
Daikichi_ttt

2021/06/08 06:34

失礼しました、質問を編集しました。 記載したコードから、テキストファイルを効率よく読み込むために使用すると解釈しています。 他にもBufferedReaderクラスの使用メリットがありましたら教えてください。 また、どんなシーンで使うのかも教えていただければ幸いです。
m.ts10806
m.ts10806

2021/06/08 06:37

現在わかっていることがなにを元の考察なのかも記載願います。 もし間違っている内容だったら記事の投稿主に指摘する必要があります(質問者さんの解釈の有効無効の話ではないです。出典の明示は必要事項です)
root_jp
root_jp

2021/06/08 06:40

K_3578さん > 何が知りたいのかわかりません。 BufferedReaderを使うメリットだと思いますが? BufferedReaderを使うべき時は使うんですよね? その使うべき時ってのを質問者さんはお知りになりたいのだと思いますので、 それを回答してみはいかがでしょうか。
K_3578
K_3578

2021/06/08 06:54

root_jpさん うーんとですね、質問者さんの解釈自体は間違ってないかと思ったので、それ以上何が知りたいのか わからなかったのでこういうコメントをした次第です。 表現が悪かったのならば訂正させていただきます。
root_jp
root_jp

2021/06/08 07:09

> K_3578さん お返事ありがとうございます。 「メリットも何も使い分けなんで」とおっしゃられていますが、 複数ある方法のそれぞれのメリットとデメリットを理解してこその使い分けになりますので、 「メリットは何か?」という疑問は、ごく自然なことだと思います。 ですので、K_3578さんがご存知の「BufferedReaderを使うべき時」というのをご教示差し上げてはどうかと思い、僭越ながら口を出してしまった次第なのですが、お返事いただいた内容から、 質問者さんが把握しているメリット以外に、ご存知のメリットはないということでよろしいでしょうか? > Daikichi_tttさん 質問の本質ではない内容で、コメント欄を汚染してしまい申し訳ありません。
K_3578
K_3578

2021/06/08 07:24

root_jpさん こちらこそお返事ありがとうございます。 >「メリットは何か?」という疑問は、ごく自然なことだと思います。 仰る通りですね、"メリットも何も"はメリットデメリットを理解せずとも良いと取れる表現でした。 こちらは訂正させていただきます。 >質問者さんが把握しているメリット以外に、ご存知のメリットはないということでよろしいでしょうか? 多少表現が異なりますが私としてはそう考えていました。それ以外にメリット等が存在するのであれば root_jpさんに回答していただければと。私としても勉強になりますので。 私は基本的に質問者さんの解釈と同じ内容を書くことになり、 新しい情報はないと思いますので回答は控えさせて頂きます。
root_jp
root_jp

2021/06/08 07:31

> K_3578さん 私も、これ以外に自信をもって教えてさしあげれる内容を持ち合わせておらず、 すごく興味があった質問だったために、書いてしまいました。 大変失礼いたしました。 いきなりの横槍にご丁寧に対応してくださり、ありがとうございました。
momon-ga
momon-ga

2021/06/08 07:36

参考にした元記事が微妙なこともあると思いますが > テキストファイルの文字コードを指定または変換して読み込むことができる。 は、BufferedReader 関係ないですよね。
K_3578
K_3578

2021/06/08 07:50

>root_jpさん いえ、ご指摘頂いたのは尤もなことだと思いますので、横槍して頂けてありがとうございます。 こちらこそ丁寧な対応に改めて感謝致します。
dodox86
dodox86

2021/06/08 08:31

低評価、と言うほどではないのですが、「BufferedReaderと言うクラスがありますが、他のA(仮名)と言うクラスがあってそれで充分使えそうなのに、どんなメリットがあるのでしょうか?」と言う疑問であったり、「BufferedReaderを使えと言う指示が出ており、そのメリットが分かりません」というような内容なら理解できます。 しかし「BufferedReaderにはこういうメリットがあると理解しています。他に何がありますか? 特に困っている訳ではありません」と言うのだと唐突と言うか、「メリットを列挙せよ」というようなテーマ(課題)でもあったのかな、と私自身は最初に読んだ時、ちょっと違和感を感じたのは正直なところです。そんな風に感じる回答者も居るということで、以上、単なるコメントでした。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。