13 、Java の様々なサンプル -ファイル操作-
技術情報 TOP へ

ここでは、ファイル操作に関する簡単なサンプルを記述いたします。

Java が初めての方は、まずは、基本的な Java プログラム - 簡単な文字列の表示、数値の計算 -をご参照ください。


Java では、様々な API ( ライブラリー ) が用意されています。ここでは、ファイルやディレクトリを
扱うための java.io.File クラスを中心に使用したサンプルを記述します。

java.io.File クラス についての詳細は以下のドキュメントを参照してください。
Java API ドキュメント クラス File

以下は、Java API ( 5.0 ) のドキュメントです。
Java 2 Platform Standard Edition 5.0 API 仕様



( 1 ) 新しいファイルを作成する。

ファイルを新規に作成します。

ファイル名:FileTest.java
import java.io.*;

public class FileTest {
	public static void main(String args[]) {
		try{
		  /*  カレントディレクトリに test.txt という File クラスの
			インスタンスを作成します。*/
		  File fl = new File("./test.txt");
		  /* このインスタンスからそのファイルがまだ存在しない場合だけ
			空の新しいファイル生成します。*/
		  fl.createNewFile();		  
		}catch(IOException e){
		  System.out.println(e + "例外が発生しました");
		}
	}
}



( 2 ) 新しいディレクトリを作成する。

ディレクトリ ( フォルダ ) を新規に作成します。

ファイル名:FileTest.java
import java.io.*;

public class FileTest {
	public static void main(String args[]) {	
	  /* カレントディレクトリに test というFileクラスの
		インスタンスを作成します。*/
	  File fl = new File("test");
	  /* このインスタンスからディレクトリを生成します。*/
	  fl.mkdir();
	}
}



( 3 ) 新しい階層ディレクトリを作成する。

新しい 「test1\test2\test3」 といった階層ディレクトリ ( フォルダ ) を作成します。

ファイル名:FileTest.java
import java.io.*;

public class FileTest {
	public static void main(String args[]) {	
	  /* カレントディレクトリに test1/test2/test3 という
		階層のある File クラスのインスタンスを作成します。*/
	  File fl = new File("test1/test2/test3");
	  /* このインスタンスからディレクトリを生成します。*/
	  fl.mkdirs();	
	}
}



( 4 ) ファイル ( もしくはディレクトリ ) の存在を確認する。

ファイル ( もしくはディレクトリ ) の存在するか否かを確認します。

ファイル名:FileTest.java
import java.io.*;

public class FileTest {
	public static void main(String args[]) {
	  /*  カレントディレクトリに test.txt 
	  	 というFileクラスのインスタンスを作成します。*/
	  File fl = new File("./test.txt");
	  /* ファイル(ディレクトリ)が存在するかどうか判定します。*/
	  if(fl.exists()){
		System.out.println("ファイルがありました。");
	  }
	  else{
		System.out.println("ファイルがありません。");
	  }	
	}
}



( 5 ) ファイルに書き込みを行う。

ファイルに書き込みを行います。

ファイル名:FileTest.java
import java.io.*;

public class FileTest {
	public static void main(String args[]) {
	try{
	  /* FileWriter クラスのインスタンスを作成します。*/
	  	FileWriter fw = new FileWriter("./test.txt");
	  /* ファイルに書き込みます。*/
	  	fw.write("write text !");
	  /*ファイルをクローズします。*/
		fw.close();
	  }catch(IOException e){
		System.out.println(e + "例外が発生しました");
	  }
	}
}



( 6 ) ファイルを読み込む。

ファイルを読み込んで表示します。

実行準備:カレントディレクトリ に test.txt という名前のファイルを作成し、 test.txt になんらかの文字を記述してください。

ファイル名:FileTest.java
import java.io.*;

public class FileTest {
	public static void main(String args[]) {
		try{
		/*ファイルをオープンします。*/
		BufferedReader br = new BufferedReader(new FileReader("test.txt"));

		/*ファイルを読み込みます。*/
		String line = "";
		while ((line = br.readLine()) != null) {
			System.out.println(line);
		}
		/*ファイルをクローズします。*/
		br.close();
		}catch(IOException e){
		  System.out.println(e + "例外が発生しました");
		}
	}
}



( 7 ) ファイルを読み込んで別のファイルに書き込む。

ファイルを読み込んで、その内容を別のファイルに書き込みます。

実行準備:カレントディレクトリ に test.txt という名前のファイルを作成し、 test.txt になんらかの文字を記述してください。

ファイル名:FileTest.java
import java.io.*;

public class FileTest {
	public static void main(String args[]) {
	  try{		

	    int c;

	    /* カレントディレクトリに test.txt の
		Fileクラスのインスタンスを作成します。(読み込み用) */
	    File fli = new File("test.txt");

	    /* BufferedInputStream を構築します。*/
            BufferedInputStream bis = 
		new BufferedInputStream(new FileInputStream(fli));

	    /* カレントディレクトリに test2.txt という
		Fileクラスのインスタンスを作成します。(書き込み用)*/
	    File flo = new File("test2.txt");

	    /* BufferedOutputStream を構築します。*/
	    BufferedOutputStream bos = 
		new BufferedOutputStream(new FileOutputStream(flo));

	    byte buf[] = new byte[1024];

            while((c = bis.read(buf, 0, 1024)) != -1) {
              bos.write(buf, 0, c);
            }

	   /* クローズします。 */
	    bis.close();
	    bos.close();

	   }catch(IOException e){
	     System.out.println(e + "例外が発生しました");
	   }

	}
}



( 8 ) ディレクトリからファイルのリストを取得。

ディレクトリからファイルのリストを取得します。

実行準備:カレントディレクトリ に test という名前のディレクトリを作成し、 test ディレクトリの中にいつくかのファイルを作成してください。

ファイル名:FileTest.java
import java.io.*;

public class FileTest {
	public static void main(String args[]) {
	  /* カレントディレクトリに test という
		Fileクラスのインスタンスを作成します。*/
	  File fl = new File("test");

	  /* ファイルのリストを取得します。*/
	  String[] arry = fl.list();

	  /* ファイル名を1つずつ表示します。*/
	  for(int i = 0; i < arry.length; i ++){
		  System.out.println(arry[i]);
 	  }
	}
}
技術情報 TOP へ


Google
WWW を検索 whitemark.co.jp を検索
[ 株式会社ホワイトマーク TOP ]   [ 免責事項 ]

Copyright © 2006 by WhiteMark, All rights Reserved. Last Modified: 2006/05