前提・実現したいこと
fileを検索して、存在したらパスを出力
なかったら
file名 Not found と出力 したい
発生している問題・エラーメッセージ
あると判定したらreturn tureを返したいのですが、
返り値がfalseになってしまう
Java
import java.io.File;
public class FileFinder{
void run(String[] args){
File serchDir = new File(args[1]); Boolean check = this.serch(args[0],serchDir); System.out.printf("%b%n",check); if(check == false) { System.out.printf("%s : Not found.%n",args[0]); } } Boolean serch(String targetfile,File dir){ File[] files = dir.listFiles(); for(Integer i = 0; i < files.length; i++){ if(files[i].isDirectory()){ serch(targetfile, files[i]); }else{ if(targetfile.equals(files[i].getName() ) ) { System.out.printf("%s%n",files[i].getPath()); return true; } } } return false; } public static void main(String[] args){ FileFinder find = new FileFinder(); find.run(args); }
}
###出力
$ java FileFinder ABC.java ../
../01/ABC.java
false
ABC.java : Not found.
補足情報
for文内でreturnしてもプログラムから抜けれる訳ではないのですか?
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/19 23:20