1から始めるJava

Java【入門編】~テキストファイルの読み込み

ここではテキストファイルの内容を読み込む方法を解説します。

Javaでテキストファイルの内容を読み込む方法は1文字ずつ読み込む方法と1行ずつ読み込む方法の2種類あります。

1文字ずつ読み込む方法

1文字ずつ読み込むにはFileReaderクラスでreadメソッドを使います。

import文

import java.io.*;

 

1文字読み込んで表示する処理

FileReader fr=new FileReader(new File("テキストファイルのパス"));

int data=fr.read();

System.out.println((char)data);

fr.close();

上のようにすることでテキストファイルから文字を1文字読み込むことが出来ます。

読み込むテキストファイルはそのパスで指定します。

パスとは

C:\Users\Documents\Java\jdk1.8.0_51\text.txt

のようなものです。

プログラムとテキストファイルが同じフォルダに保存されている場合はファイルの名前だけで指定することが出来ます。

readメソッドはint型の数値を取得します。
そのため、char型に変換して表示させます。
読み込む文字がなくなると-1を取得します。

あわせて読みたい
Java【入門編】~変数を使う~ここでは変数の宣言について解説していきます。 前:基本の形 http://mittsu2017.com/post-14/ ...

 

これを利用して、テキストファイルのすべての文字を読み込むには以下のようにします。

int data;

while((data=fr.read())!=-1) {

System.out.print((char)data);

}

これはwhile文を使ってreadメソッドの値が-1以外の時繰り返し、文字を読み込み表示します。

あわせて読みたい
Java【入門編】~繰り返しの処理 while文~ここでは繰り返しの処理を行うwhile文について解説します。 前:繰り返しの処理~For文~の記事はこちら http://m...

 

実際にテキストファイルを読み込むプログラムを組んでみます。

ソースコード

import java.io.*;

public class Sample15 {

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

FileReader fr=new FileReader(new File("text2.txt"));

int data=fr.read();

System.out.println((char)data);

int data;

while((data=fr.read())!=-1) {

System.out.print((char)data);

}

fr.close();

}

}

スポンサーリンク


 

1行ずつ読み込む方法

テキストファイルを1行ずつ読み込むにはBufferedReaderクラスでreadLineメソッドを使います。

import文

import java.io.*;

 

1行読み込んで表示する処理

FileReader fr=new FileReader(new File("text2.txt"));

BufferedReader br=new BufferedReader(fr);

String str = br.readLine();

System.out.println(str);

 

1文字ずつ読み込む方法と違い、FileReaderクラスで読み込むことはできません。
そのためBufferedReaderクラスを用います。

BufferedReaderクラスは文字をString型で取得します。
ですので、今回は取得した値をそのまま出力することで文字を表示させることが出来ます。

readLineメソッドはこれ以上読み込む文字がなくなるとnullを返します。
これを利用してファイル内のすべての文字を読み込む処理を行うことが出来ます。

String str;

while((str=br.readLine())!=null) {

System.out.println(str);

}

これはwhile文を使ってbr.readLineの値がnull以外の時繰り返してデータを読み込み表示します。

実際にテキストファイルのデータを読み込むプログラムを作ってみます。

ソースコード

import java.io.*;

public class Sample16 {

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

FileReader fr=new FileReader(new File("text2.txt"));

BufferedReader br=new BufferedReader(fr);

String str;

while((str=br.readLine())!=null) {

System.out.println(str);

}

br.close();

}

}

 

スポンサーリンク


あわせて読みたい
サイトマップ ...