Ignore:
Timestamp:
2012-09-13T12:00:12+12:00 (12 years ago)
Author:
jmt12
Message:

Moving the StreamGobbler - used in both plugins to prevent a full STDERR buffer killing the import - into it's own class... my computer doesn't have an issue with exactly the same class occuring twice, but Medusa's one seems stricter in this regard

File:
1 edited

Legend:

Unmodified
Added
Removed
  • gs2-extensions/video-and-audio/trunk/src/opt/Terrier/ImageDocument.java

    r26186 r26190  
    1717package org.terrier.indexing;
    1818
    19 import java.io.BufferedOutputStream;
    20 import java.io.BufferedReader;
    21 import java.io.FileOutputStream;
    2219import java.io.InputStream;
    23 import java.io.InputStreamReader;
    24 import java.io.IOException;
    25 import java.io.PrintWriter;
    2620import java.io.StringReader;
    2721import java.io.Reader;
    28 import java.lang.Thread;
    2922import java.nio.file.Files;
    3023import java.nio.file.Path;
     
    3629
    3730import org.apache.log4j.Logger;
     31import org.terrier.indexing.StreamGobbler;
    3832import org.terrier.indexing.tokenisation.TokenStream;
    3933import org.terrier.indexing.tokenisation.Tokeniser;
     
    260254}
    261255
    262 class StreamGobbler
    263 extends Thread
    264 {
    265   InputStream is;
    266   String file_path;
    267   boolean output_to_file;
    268 
    269   StreamGobbler(InputStream is)
    270   {
    271     this.is = is;
    272     this.output_to_file = false;
    273   }
    274 
    275   StreamGobbler(InputStream is, String file_path)
    276   {
    277     this.is = is;
    278     this.file_path = file_path;
    279     this.output_to_file = true;
    280   }
    281 
    282   public void run()
    283   {
    284     try
    285     {
    286       InputStreamReader isr = new InputStreamReader(is);
    287       BufferedReader br = new BufferedReader(isr);
    288       String line = null;
    289       if (output_to_file)
    290       {
    291         PrintWriter pw = new PrintWriter(new BufferedOutputStream(new FileOutputStream(file_path)));
    292         while ( (line = br.readLine()) != null)
    293         {
    294           pw.println(line);
    295         }
    296         pw.flush();
    297         pw.close();
    298       }
    299       else
    300       {
    301         while ( (line  = br.readLine()) != null)
    302         {
    303           // Do nothing - equivalent to > /dev/null
    304         }
    305       }
    306     }
    307     catch (IOException ioe)
    308     {
    309       ioe.printStackTrace();
    310     }
    311   }
    312 }
Note: See TracChangeset for help on using the changeset viewer.