NXvalidate  1
 All Classes Namespaces Files Functions Variables
StreamGobbler.java
Go to the documentation of this file.
1 /* NeXus - Neutron & X-ray Common Data Format
2  *
3  * NeXus file validation GUI tool.
4  *
5  * Copyright (C) 2010 Nexus Team
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20  *
21  * For further information, see <http://www.nexusformat.org/>
22  *
23  * StreamGobbler.java
24  *
25  */
26 package org.nexusformat.nxvalidate;
27 
28 import java.io.BufferedReader;
29 import java.io.IOException;
30 import java.io.InputStream;
31 import java.io.InputStreamReader;
32 
36 public final class StreamGobbler extends Thread {
38  private InputStream stream;
39 
41  private String type;
42 
44  private StringBuffer buffer;
45 
50  public StreamGobbler(final InputStream stream, final String type) {
51  this.stream = stream;
52  this.type = type;
53  this.buffer = new StringBuffer();
54  }
55 
59  public String getType() {
60  return this.type;
61  }
62 
64  public void run() {
65  try {
66  InputStreamReader isr = new InputStreamReader(this.stream);
67  BufferedReader br = new BufferedReader(isr);
68  String line = null;
69  while ((line = br.readLine()) != null) {
70  buffer.append(line);
71  buffer.append("\n");
72  }
73  }
74  catch (IOException ioe) {
75  ioe.printStackTrace();
76  }
77 
78  }
79 
83  public String getOutput() {
84  return buffer.toString();
85  }
86 }