Javaは、以下のすべてのフォルダーとファイルのパスを読み取ります。特定のコンテンツは次のとおりです
f:/aaフォルダーには、以下に示すようにフォルダーとファイルがあります。
次に、Javaでは、f:/aaの下のすべてのファイルパスがこの方法で読み取られます。
1.まず、アレイリストはファイルとコンテナのクラスで使用されるため、最初に次のパッケージを紹介する必要があります。
java.io.*をインポートします。 Java.util。*をインポートします。
2。メソッドは次のとおりです。ファイルdirfileは、f:。ドライブ文字にはいくつかのシステムファイルが含まれているため、ドライブ文字が読み取られるため、アクセスは拒否されます。ヌルポインターの例外が発生する可能性があります。
//ここでは、現在のパス内のすべてのフォルダーとファイルのみをクエリし、ファイル配列へのパスを保存します//すべてのサブフォルダーとファイルが含まれていないフォルダーが遭遇しているため、再帰的なpublic static arraylist <string> dir(ファイルdirfile)スロー例外を使用する必要はありません{arraylist <string> dirstrist < if(dirfile.exists()){// listfiles()を使用して現在のパスのすべてのフォルダーとファイルを直接回転して、現在のパス内のすべてのフォルダーとファイルをファイル配列ファイルに保存します[] = dirfile.listfiles(); for(file file:files){//渡されたパラメーターdirfileがファイルセパレーターで終了した場合、つまり、 /または /、次に(dirfile.getPath()。endswith(file.separator)){dirstrarr.add(dirfile.getPath() + file.getName()); } else {//それ以外の場合、ファイルセパレーターがない場合は、ファイルセパレーターを追加し、ファイル名をパスdirstrarr.add(dirfile.getPath() + file.separator + file.getName())に追加します。 }} dirstrarrを返します。 }その方法は、F:/AAの下で新しく作成されたフォルダーでXLSXを読み取らないことです。読み取りプロセス中に、フォルダーがすべてのサブフォルダーとファイルを読み取りたい場合、再帰が使用され、最初にグローバルな動的配列が設定されます。
public static arraylist <string> dirallstrarr = new ArrayList <String>();
次に、メソッドは次のとおりです。
public static void dirall(file dirfile)スロー例外{if(dirfile.exists()){file files [] = dirfile.listfiles(); for(ファイル:ファイル){//フォルダーが遭遇した場合、再帰的に呼ばれます。 if(file.isdirectory()){//再帰的にdirall(file); } else {//フォルダーに遭遇した場合、arrayに配列に入れてくださいif(dirfile.getPath()。endswith(file.separator)){dirallstrarr.add(dirfile.getPath() + file.getName()); } else {dirallstrarr.add(dirfile.getPath() + file.separator + file.getName()); }}}}}}}}}}}}}}}}}}}}}}}}}}実際、読み取りプロセス中に、キーはListFiles()メソッドを使用して、このフォルダー内のすべてのファイルのリストを取得することです。次に、「[Java]フォルダーとすべてのサブファイルとサブフォルダーを移動する」(クリックしてリンクを開きます)と「[Java]はファイル入力と出力ストリームを使用して、あるフォルダー内のすべてのファイルを別のフォルダーにコピーする操作を完了します」(リンクをクリックして、再帰的に遭遇します。
上記の方法全体は、次のようなJavaファイルです。
java.io.*をインポートします。 Java.util。*をインポートします。パブリッククラスFileList {//グローバルダイナミックアレイを設定してファイルパスを保存します//すべてのサブフォルダーとファイルを移動している場合、再帰が使用されるため、public Static ArrayList <String> dirallStrARR = new ArrayList <String>()を設定する必要があります。 //ここでは、現在のパスの下ですべてのフォルダーとファイルをクエリし、ファイル配列へのパスを保存する// if(dirfile.exists()){// listFiles()を使用して現在のパスのすべてのフォルダーとファイルを直接取り出して、すべてのフォルダーとファイルをファイル配列ファイルに保存します[] = dirfile.listfiles(); for(file file:files){//渡されたパラメーターdirfileがファイルセパレーターで終了した場合、つまり、 /または /、次に(dirfile.getPath()。endswith(file.separator)){dirstrarr.add(dirfile.getPath() + file.getName()); } else {//それ以外の場合、ファイルセパレーターがない場合は、ファイルセパレーターを追加し、ファイル名をパスdirstrarr.add(dirfile.getPath() + file.separator + file.getName())に追加します。 }}} return dirstrarr; } public static void dirall(file dirfile)スロー例外{if(dirfile.exists()){file files [] = dirfile.listfiles(); for(ファイル:ファイル){//フォルダーが遭遇した場合、再帰的に呼ばれます。 if(file.isdirectory()){//再帰的にdirall(file); } else {//フォルダーが遭遇した場合、dirfile.getpath()。endswith(file.separator)){dirallstrarr.add(dirfile.getPath() + file.getName()); } else {dirallstrarr.add(dirfile.getPath() + file.separator + file.getName()); }}}} public static void main(string [] args)throws exception {file dirfile = new file( "f:/aa"); System.out.println(dir(dirfile)); dirall(dirfile); System.out.println(dirallstrarr); }}操作結果は次のとおりです。
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。