2016-10-03 4 views
0

特定のフォルダにファイルが追加または変更されたときにファイル情報を取得します。私はC#でファイルウォッチャーを使用しようとしましたが、正しく動作しません。それを行う別の方法があれば私に知らせてください。私はC#またはJavaのいずれかでこれを記述しようとしています。これは私のコードです。特定のフォルダにファイルを追加(作成)または変更するときにファイルのメタデータ情報を取得する

private void fswBarCode_Changed(object sender, FileSystemEventArgs e) 
{ 
    try 
    { 
     RequestsManager objRequestsManager = new RequestsManager(); 
     Requests objRequests = new Requests(); 
     DataTable dt = (DataTable)objRequestsManager.GetPendingRequests(); 
     List<Requests> lstRequest = new List<Requests>(); 

     foreach (DataRow dr in dt.Rows) 
     { 
      objRequests = new Requests(); 
      objRequests.RecipeID = Convert.ToInt32(dr["intRecipeID"]); 
      objRequests.ChemicalReqID = Convert.ToInt32(dr["intCRHeaderID"]); 
      lstRequest.Add(objRequests); 

     } 

     if (e.ChangeType == System.IO.WatcherChangeTypes.Changed) 
     { 
      FileInfo file = new FileInfo(e.FullPath); 
      string fileName = file.Name; 

      char[] ch = { '.' }; 
      string strrecipeID = fileName.Split(ch)[0]; 
      int intRecipeID = Convert.ToInt32(strrecipeID); 

      if (lstRequest.Count() != 0) 
      { 
       lstRequest = (from lst in lstRequest 
           where lst.RecipeID.Equals(intRecipeID) 
           select lst).ToList(); 
       if (lstRequest.Count() != 0) 
       { 
        bool blIsSuccess = objRequestsManager.SaveChemicalRequisitions(lstRequest); 
        if (blIsSuccess == true) 
        { 
         Logger.LoggIssueItems(strrecipeID); 
         List<Requests> lstRequest1 = (List<Requests>)PendingRequests(); 
        } 
       } 

      } 

     } 
    } 
    catch (Exception ex) 
    { 

     Logger.LoggError(ex, "fswBarCode_Changed"); 

    } 
} 
+0

をデフォルトのファイルシステムにアクセスするためには、あなたがこれまで試したどのような私たちを見ると、私たちはそれであなたを助けるかもしれません。 Stackoverflowはあなたのためにあなたのコードを書くためにここにはありません。 –

答えて

0

あなたは

以下java.nio.fileパッケージとその関連パッケージ、 java.nio.file.attributeのように、JavaのNIO APIを使用することによって、これを達成するため、ファイルのための包括的なサポートを提供I/O と

BasicFileAttributes attr = Files.readAttributes(file, BasicFileAttributes.class); 

System.out.println("creationTime: " + attr.creationTime()); 
System.out.println("lastAccessTime: " + attr.lastAccessTime()); 
System.out.println("lastModifiedTime: " + attr.lastModifiedTime()); 
関連する問題