2016-12-08 16 views
1

SQL Serverテーブルのファイル 'id'がローカルディレクトリのファイルのファイル名と一致する場合Javaコーディングを書いています。ファイルをスキャンしてファイル名を確認するforループを使用せずに一致します。javaを使用してtemp.getstatと一致するとディレクトリ内のファイルを一致させる方法

String pathJ = "C:\\sampleDirectory"; 
    NewsContentObj[] newObj = firstTimeRetrieveRecordFromDB(); 
    for (NewsContentObj temp : newObj) { 

     File dir = new File("C:\\sampleDirectory"); 
     File[] files = dir.listFiles(); 
     Arrays.sort(files); 

     for (File file : files){ 
      String path1 = file.getAbsolutePath(); 
       String path = file.getName(); 

      if(temp.getStat().equals(file)){ 
        System.out.println("first path:" + file); 
       //System.out.println("first path1:" + files[i].getName()); 
        cacheStaticL(pathJ,path); 
      } 
       //} 
     } 
    } 

おかげ

+0

directory'はぁ内の既存のファイルとディレクトリに 'マッチファイルの一致を存在するかどうかを確認するには以下のコードを使用することができますか?両方のファイルがあなたのディレクトリにありますか?あなたの質問は不明です。 – user3437460

+0

まず、SQLテーブルからレコードを取得します。取得後、結果はBeanファイルに設定されます。 temp.getstat()がディレクトリ "C:\\ sampleDirectory"と一致する場合、cacheStaticL(pathJ、path)が実行されます;パフォーマンスに影響するため、forループを2回使用しています。それはスキャンファイルを使用することができますか他のオプションですか? –

+0

[こちら](https://stackoverflow.com/questions/41032470/how-to-match-file-in-directory-when-match-with-temp-getstat-using-java/41032537#comment69434698_41032537)コメント左側に表示されているスコアの下にある「右の」目盛り**をクリックして回答を受け入れるべきです。さらに、回答が十分であれば、回答をアップアップすることもできます。 – iammilind

答えて

0

あなたは、ファイルが指定したディレクトリに

boolean check = new File(directory, temp).exists(); 
+0

試した後、ファイルがディレクトリに存在していても、答えは偽です。 –

+0

あなたはfilename.extensionで試していますか?filename.txt – Swapnil

+0

ありがとうございます。私のファイルはPDFファイルです。結果が真である場合、次にファイルを取得する方法は、そのファイルを使用してpdfを抽出する必要があるためです。それはまた、ファイルを取得するためにループを使用する必要がありますか? –

関連する問題