1。再帰的な方法
1.再帰は独自の方法を呼び出すことです。前提は、方法があるということです。
2。再帰使用
再帰のルールを見つけるには、出口条件、つまり最終条件が必要です
3。注意すべきこと
再帰は何度もはありません。そうしないと、スタックオーバーフローがあり、営巣に再帰を使用することはできません。
2.IOはじめに
1。Iは入力入力であり、Oは出力出力です。 APIは、入力と出力ストリームをクラスにカプセル化し、使用する多数の方法を提供します。
2。IOテクノロジーは、永続的なデバイス(ハードディスク、光ディスク、USBディスクなどを含む)にデータを書き込むことができます。コレクションとアレイは保存および読み取ることができますが、それらは一時的にメモリに存在し、プログラムが再起動されたときに存在しません。
3。メモリの参照と比較して、ハードディスクからメモリへの物事を読むことは、入力ストリームと呼ばれます。ハードディスクにメモリデータを書き込むことは、出力ストリームと呼ばれます。
3.コンピューター検索の機能を実現するコード
1.カスタム接尾辞名を持つフォルダーを検索します
パッケージcn.jasonfile01; java.io.fileをインポートします。 / ** * @Author Jason * @September 18、2016 at 9:12:35 PM */ Public Class FindFiles04 {//メンバー変数の巧妙な使用//統計変数は、static int countfile = 0; public static void main(string [] args){//親クラスファイルのファイルオブジェクトをカプセル化します= new file( "f:// api"); //ファイルの接尾辞名を定義しますstring suffix = ".pdf"; //メソッドを呼び出してファイルスキャンファイル(親、接尾辞)を見つけます。 //条件system.out.printlnを満たすファイルの数を出力( "条件を満たすファイルは" + countFile + ""); } /** * This is to find files that meet the conditions* 1. Get all sub-files and sub-directories in the current directory* 2. Load the array to determine whether they are files* Yes: When the suffix name is satisfied, directly output the absolute path where the file is located, and the counter is increased by 1 * No: Then recurse* Note: If the listFiles method is called (not a directory), then the returned null */ private static void scanfiles(file parent、string suffix){//現在のディレクトリファイル[] files = parent.listfiles()ですべてのサブファイルとサブディレクトリを取得します。 //システムにアクセスせずにファイルを防止しないようにしますif(files!= null)for(file:files){if(file.isfile()&& file.getName()。endswith(suffix)){system.out.println(file.getabsolutepath()); countfile ++; } else scanfiles(file、suffix); }}}2。カスタム接尾辞名を持つフォルダーを検索します
パッケージcn.jasonfile01; java.io.fileをインポートします。 / ** * @author jason * @september 18、2016 at 9:12:20 pm */ public class findfolder {//統計変数Static int countfolder = 0; public static void main(string [] args){//親クラスファイルのファイルオブジェクトをカプセル化します親= new file( "f:// a"); //ファイルの接尾辞名を定義しますstring suffix = "1"; //検索フォルダーメソッドScanFolder(親、接尾辞)を呼び出します。 //条件System.out.printlnを満たすディレクトリの数を出力( "条件を満たすフォルダーには" + countfolder + ""); } / ***これは、条件を満たすフォルダーの数を見つける方法です*1。 void scanfolder(file parent、string suffix){//親ディレクトリファイル[] files = parent.listfiles()ですべてのサブディレクトリとサブファイルを取得します。 if(files!= null)//(file:files){file.isdirectory())scanfolder(file、suffix)の判断のために配列をトラバースします。 } //家賃のない条件のディレクトリ出力if(parent.getname()。endswith(suffix)){system.out.println(parent.getabsolutepath()); CountFolder ++; }}}4.コードは、コンピューターの完全な削除関数を実現します
注:Javaで削除する場合は、注意して使用してください。
パッケージcn.jasonfile01; java.io.fileをインポートします。 public class clearall {public static void main(string [] args){//ファイルオブジェクトファイルとして親ディレクトリをカプセル化します= new file( "f:// io file name"); // deleteメソッドClearall(親)を呼び出す; } / ***これは、親ディレクトリ内のすべてのサブディレクトリとサブファイルを削除する方法です* 1。親ディレクトリのすべてのサブファイルとサブディレクトリを取得します*2。ファイルであるかどうかを決定し、削除*いいえ:削除* 3。親ディレクトリファイルのすべての子ファイルとサブディレクトリ[] files = parent.listfiles(); // 1。システムファイルが位置にないことを防ぎ、ヌルポインターの例外が発生します// 2。システムパスが存在しないことを防ぎ、配列がnullになり、nullポインターの例外が発生します(files!= null)//(file:files){if(file.isfile())file.delete()の配列をトラバースします。 else clearall(file); } //空のフォルダーを削除しますparent.delete(); }}上記は、コンピューター検索と削除機能を実装するJava IOの例の全体的な内容です。誰もがwulin.comをもっとサポートすることを願っています〜