![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
はじめまして。
下記のプログラムで、以下の3つがどのような関係なのかがわかりません。
("test1.txt")とnew FileWriterの関係
(new FileWriter("test1.txt")とnew BufferedWriterの関係
(new BufferedWriter(new FileWriter("test1.txt")と new PrintWriterの関係
どうかご教示いただきたく、よろしくお願い致します。
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
public class Sample7 {
public static void main(String[] args){
PrintWriter pw = null;
try{
pw = new PrintWriter
(new BufferedWriter(new FileWriter("test1.txt")));
pw.println("Hello!");
pw.println("GoodBye");
System.out.println("ファイルに書き込みました。");
}catch(IOException e){
System.out.println("入出力エラーです。");
}finally{
if(pw != null){
pw.close();
}
}
}
}
No.2ベストアンサー
- 回答日時:
Java の理念として、ファイル処理は汎用ストリーム処理の一環として実装されていますので、
他に比べて妙に回りくどい書き方になりがちです。最近はマシになった様ですが。
■ "test1.txt" と new FileWriter の関係
ファイル test1.txt へ出力する、テキスト出力用のオブジェクトを生成
■ new FileWriter("test1.txt") と new BufferedWriter の関係
上記のオブジェクトに、バッファ処理を追加する拡張(Decorator パターン)
コストのかかる I/O 処理を効率よく行うため、出力をバッファリングさせる
■ new BufferedWriter(new FileWriter("test1.txt")) と new PrintWriter の関係
上記のオブジェクトに、書式出力処理を追加する拡張(Decorator パターン)
数値の指数表記とか右寄せとか行単位出力とか
というわけで、
■ new PrintWriter(new BufferedWriter(new FileWriter("test1.txt")));
書式出力処理とバッファ処理の拡張が付いた、ファイル test1.txt へテキスト出力するオブジェクト
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java java final 1 2022/06/10 22:49
- C言語・C++・C# C# で、あるフォルダー内にあるすべてのテキストファイルを別のフォルダーにコピーする。 4 2022/11/21 13:23
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- その他(クラウドサービス・オンラインストレージ) Google ColabでGoogleドライブのサブフォルダにファイルを生成する方法 1 2022/10/31 17:37
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- C言語・C++・C# PC画面を録画するプログラムでdllの読み込みエラー 1 2023/04/22 08:31
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
yyyymmddからyyyy/mm/d...
-
javaのファイル読み込み時の文...
-
九九を横に表示する。
-
csv出力について
-
Javaでデータに登録する度にID...
-
テキストファイルの読み書き
-
[JAVA]エラーが解決できません。
-
テキストファイルから空白行をよむ
-
キーボードから文字列を入力す...
-
Class.forNameでエラーになる
-
Java・ファイルへの書き込み
-
C言語のポインターに関する警告
-
ループ処理の際、最後だけ","を...
-
[JAVA]try 内の変数を外で!?
-
JSPやサーブレットでSystem.out...
-
VBAで配列の計算
-
javaで質問です。 文字列2023/2...
-
ダブルクォーテーションのrepla...
-
Path型をString型へ変換する(Java)
-
System.err. printlnとSystem.o...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
yyyymmddからyyyy/mm/d...
-
equalsの逆
-
InputStream.read()でタイムア...
-
Java int sum = 0は必要ですか?
-
テキストファイルから空白行をよむ
-
csv出力について
-
[JAVA]エラーが解決できません。
-
Servletでテキストボックスに入...
-
Javaの質問です。テキストファ...
-
Javaでデータに登録する度にID...
-
ソケットを使ったサーバとクラ...
-
javaのfor文が機能してないみた...
-
java連結
-
ObjectInputStreamとStreamCorr...
-
テキストファイルにおいて任意...
-
Class.forNameでエラーになる
-
九九を横に表示する。
-
Javaの質問です。テキストファ...
-
javaでCSVの中身から最大値を表...
-
BufferedReaderでのエラー
おすすめ情報