私はあまり優れたJavaプログラマーではないので、1つのフォルダーにあるすべてのファイルを印刷する方法を知る必要があります。以下のコードを参照してください。
for(int i=0;i<folder.number_of_files;i++){
System.out.println(filename[i]);
}
御時間ありがとうございます
最も簡単な方法は、を使用することFile#listFiles
です。また、Java 7を使用している場合は、ファイルI/Oライブラリの変更についてこれを参照してください。例えば、
File folder = ...;
for(File f : folder.listFiles())
{
System.out.println(f.getName());
}
これは、ディレクトリ内のサブフォルダの内容を取得しないことに注意してくださいfolder
。
File file = new File("C:\\");
File[] files = file.listFiles();
for (File f:files)
{
System.out.println(f.getAbsolutePath());
}
listFiles()
より多くのオプションがあります。こちらのドキュメントを参照してください
以下のサブフォルダもチェックしたい場合は、再帰を実行し、デスクトップとそのサブフォルダの下にあるすべてのファイルをチェックして、リストに書き込みます。
private static String lvl = "";
static BufferedWriter bw;
private static File source = new File("C:\\Users\\"+System.getProperty("user.name")+"\\Desktop\\New folder\\myTest.txt");
public static void main(String[] args) throws IOException {
bw = new BufferedWriter(new FileWriter(source));
checkFiles(new File("C:\\Users\\"+System.getProperty("user.name")+"\\Desktop"), 0);
bw.flush();
bw.close();
lvl = null;
}
static void checkFiles(File file, int level) throws IOException{
if(!file.exists()){
return;
}
for(String s:file.list()){
if(new File(file.getPath() + "\\" + s).isDirectory()){
bw.newLine();
bw.write(lvl + "Directory: " + s);
lvl += " ";
checkFiles(new File(file.getPath() + "\\" + s), level+1);
}else{
bw.newLine();
bw.write(lvl + "File: " + s);
}
}
}
}