Javaにおけるファイルの出力方法を現役エンジニアが解説【初心者向け】

初心者向けにJavaにおけるファイルの出力方法について解説しています。ここではPrintWriterクラスで入出力を行う場合の基本の書き方と処理の流れを説明します。サンプルコードで動作を確認しましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

Javaにおけるファイルの出力方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

Javaについてそもそもよく分からないという方は、Javaとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Java講座の内容をもとに作成しています。

 

田島悠介

今回は、Javaに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

ファイルの出力方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

Javaにおけるファイルの出力方法

入出力を行うクラスには主に

  • FileWriterクラス
  • PrintWriterクラス
  • Fileクラス
  • FileOutputStreamクラス
  • OutputStreamWriterクラス

があります。このうちPrintWriterクラスについて使い方を解説します。

PrintWriterクラスとは

PrintWriterクラスは、テキストの出力ストリームに対し、出力用に成形済みのオブジェクト情報を提供するクラスです。

PrintWriterクラスはPrintStreamクラスと同様のメソッドを提供しています。バイトデータを直接出力する為のメソッドはありません。

テキストの出力は、

  • print()メソッド
  • println()メソッド
  • printf()メソッド
  • format()メソッド

等を用いて実施します。

System.out.println()

でコンソールに文字を出力していたのと同じ要領で、ファイルに出力を行うことができます。

 

実際に書いてみよう

import java.io.File;
import java.io.PrintWriter;

public class Sample {

public static void main(String[] args) throws Exception {

// コンソールへの出力
  PrintWriter writer1 = new PrintWriter(System.out);
  writer1.write("コンソールへの出力");
  writer1.flush();
  writer1.close();

// ファイルへの出力"
  PrintWriter writer2 = new PrintWriter(new File("C:\\Users\\ユーザ名\\Desktop\\samplewriter.txt"));
  writer2.write("ファイルへの出力");
  writer2.flush();
  writer2.close();
  }
}

PrintWriterのインスタンスを2つ作成しています。一つ目のwriter1はコンストラクタの引数にSystem.outを設定し、出力先をコンソールに指定しています。二つ目のwriter2はコンストラクタの引数にFileオブジェクトを設定しています。このように指定したファイルオブジェクトに対し、出力が行われます。

実行結果は、コンソールに

コンソールへの出力

が出力され。指定したファイルに、

ファイルへの出力

が出力されます。

 

[PR] Javaで挫折しない学習方法を動画で公開中

監修してくれたメンター

長屋雅美

独立系SIerで7年勤務後、現在はフリーのエンジニアとして自宅をオフィスとして活動しています。
JavaやC♯、shellscriptを用いた開発を主に担当し、TechAcademyではJavaコースを担当しています。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

TechAcademyでは、初心者でも最短4週間で、JavaやServletの技術を使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。

 

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。