うみわたりんりんりん

そろそろid変えたい

listFilesとlistの違いをメモっておきたい.java

車輪の再発明なのでソースコードは各所から引っ張て来た。

import java.io.File;

public class OpenFile {

	public static void main(String args[]) {

		System.out.println("case1");

		//ファイル名の一覧を取得する
		File file = new File("./sample");
		File files[] = file.listFiles();

		//取得した一覧を表示する
		for (int i=0; i<files.length; i++) {
			System.out.println("ファイル" + (i+1) + "→" + files[i]);
		}


		System.out.println("case2");

		//Fileクラスのオブジェクトを生成する
		File dir = new File("./sample");

		//listFilesメソッドを使用して一覧を取得する
		File[] list = dir.listFiles();

		if(list != null) {
			//System.out.println(list.length);
			//取得した一覧を表示する
			for (int i=0; i<files.length; i++) {
				System.out.println("ファイル" + (i+1) + "→" + files[i]);
			}
		} else {
			System.out.println("null");
		}


		System.out.println("case3");

		File cdirectory = new File("./sample");

		String filelist[] = cdirectory.list();
		for (int i = 0 ; i < filelist.length ; i++){
			System.out.println(filelist[i]);
		}
	}
}


結果はこう↓

case1
ファイル1→.\sample\282d66123e0a1b0151014102.txt
ファイル2→.\sample\415c7d190d021a045801.txt
ファイル3→.\sample\42321e15420617036902.txt
ファイル4→.\sample\54537f100209450443020c01.txt
ファイル5→.\sample\641b231d3a03.txt
ファイル6→.\sample\65280a04640e6b0216051a062301.txt
ファイル7→.\sample\690c3e036c0a5c051c027802310a.txt
ファイル8→.\sample\6e0b2d20.txt
ファイル9→.\sample\7f753002380b7c1100015801.txt
ファイル10→.\sample\85685e076406670a24042701180165023301.txt
ファイル11→.\sample\8d481b1e50015601.txt
case2
ファイル1→.\sample\282d66123e0a1b0151014102.txt
ファイル2→.\sample\415c7d190d021a045801.txt
ファイル3→.\sample\42321e15420617036902.txt
ファイル4→.\sample\54537f100209450443020c01.txt
ファイル5→.\sample\641b231d3a03.txt
ファイル6→.\sample\65280a04640e6b0216051a062301.txt
ファイル7→.\sample\690c3e036c0a5c051c027802310a.txt
ファイル8→.\sample\6e0b2d20.txt
ファイル9→.\sample\7f753002380b7c1100015801.txt
ファイル10→.\sample\85685e076406670a24042701180165023301.txt
ファイル11→.\sample\8d481b1e50015601.txt
case3
282d66123e0a1b0151014102.txt
415c7d190d021a045801.txt
42321e15420617036902.txt
54537f100209450443020c01.txt
641b231d3a03.txt
65280a04640e6b0216051a062301.txt
690c3e036c0a5c051c027802310a.txt
6e0b2d20.txt
7f753002380b7c1100015801.txt
85685e076406670a24042701180165023301.txt
8d481b1e50015601.txt

参考
ファイル名の一覧を取得する - Javaちょこっとリファレンス
www.sejuku.net



違いを知るためにリファレンスに当たると、以下のように書いてあった。

String list()
この抽象パス名が示すディレクトリにあるファイルおよびディレクトリを示す文字列の配列を返します。

File listFiles()
この抽象パス名が示すディレクトリ内のファイルを示す抽象パス名の配列を返します。

File (Java Platform SE 6)

また忘れたときのために。