コード例 #1
0
 public override void OnExtracted([NotNull] FilePath file, [NotNull] Com.Drew.Metadata.Metadata metadata, [NotNull] string relativePath)
 {
     base.OnExtracted(file, metadata, relativePath);
     try
     {
         PrintWriter writer = null;
         try
         {
             writer = OpenWriter(file);
             // Build a list of all directories
             IList <Com.Drew.Metadata.Directory> directories = new AList <Com.Drew.Metadata.Directory>();
             foreach (Com.Drew.Metadata.Directory directory in metadata.GetDirectories())
             {
                 directories.Add(directory);
             }
             // Sort them by name
             directories.Sort(new _IComparer_235());
             // Write any errors
             if (metadata.HasErrors())
             {
                 foreach (Com.Drew.Metadata.Directory directory_1 in directories)
                 {
                     if (!directory_1.HasErrors())
                     {
                         continue;
                     }
                     foreach (string error in directory_1.GetErrors())
                     {
                         writer.Format("[ERROR: %s] %s\n", directory_1.GetName(), error);
                     }
                 }
                 writer.Write("\n");
             }
             // Write tag values for each directory
             foreach (Com.Drew.Metadata.Directory directory_2 in directories)
             {
                 string directoryName = directory_2.GetName();
                 foreach (Tag tag in directory_2.GetTags())
                 {
                     string tagName     = tag.GetTagName();
                     string description = tag.GetDescription();
                     writer.Format("[%s - %s] %s = %s%n", directoryName, tag.GetTagTypeHex(), tagName, description);
                 }
                 if (directory_2.GetTagCount() != 0)
                 {
                     writer.Write('\n');
                 }
             }
         }
         finally
         {
             CloseWriter(writer);
         }
     }
     catch (IOException e)
     {
         Sharpen.Runtime.PrintStackTrace(e);
     }
 }
コード例 #2
0
 public virtual void WriteSVMLightFormat(PrintWriter writer)
 {
     foreach (RVFDatum <L, F> datum in this)
     {
         writer.Print(this.labelIndex.IndexOf(datum.Label()));
         ICounter <F> features = datum.AsFeaturesCounter();
         foreach (F feature in features.KeySet())
         {
             double count = features.GetCount(feature);
             writer.Format(Locale.English, " %s:%f", this.featureIndex.IndexOf(feature), count);
         }
         writer.Println();
     }
 }