Package weka.core.converters

# Class ConverterUtils.DataSink

java.lang.Object
weka.core.converters.ConverterUtils.DataSink

All Implemented Interfaces:
  `Serializable`, `RevisionHandler`

Enclosing class:
  `ConverterUtils`

public static class ConverterUtils.DataSink extends Object implements Serializable, RevisionHandler
Helper class for saving data to files. Via the ConverterUtils class it determines which converter to use for saving the data. It is the logical counterpart to `DataSource`.

Version:
  $Revision: 6416 $
Author:
  FracPete (fracpete at waikato dot ac dot nz)
See Also:
  - `ConverterUtils.DataSource`
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`DataSink(OutputStream stream)`
initializes the sink to save the data in the stream (always in ARFF format).
`DataSink(String filename)`
initializes the sink to save the data to the given file.
`DataSink(Saver saver)`
initializes the sink to save the data to the given Saver (expected to be fully configured).

## Method Summary

Modifier and Type
Method
Description
`String`
`getRevision()`
Returns the revision string.
`static void`
`main(String[] args)`
for testing only - takes a data file as input and a data file for the output.
`static void`
`write(OutputStream stream, Instances data)`
writes the data to the given stream (always in ARFF format).
`static void`
`write(String filename, Instances data)`
writes the data to the given file.
`static void`
`write(Saver saver, Instances data)`
writes the data via the given saver.
`void`
`write(Instances data)`
writes the given data either via the saver or to the defined output stream (depending on the constructor).

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### DataSink

public DataSink(String filename) throws Exception
initializes the sink to save the data to the given file.

Parameters:
  `filename` - the file to save data to
Throws:
  `Exception` - if set of saver fails

### DataSink

public DataSink(Saver saver)
initializes the sink to save the data to the given Saver (expected to be fully configured).

Parameters:
  `saver` - the saver to use for saving the data

### DataSink

public DataSink(OutputStream stream)
initializes the sink to save the data in the stream (always in ARFF format).

Parameters:
  `stream` - the output stream to use for storing the data in ARFF format

## Method Details

### write

public void write(Instances data) throws Exception
writes the given data either via the saver or to the defined output stream (depending on the constructor). In case of the stream, the stream is only flushed, but not closed.

Parameters:
  `data` - the data to save
Throws:
  `Exception` - if saving fails

### write

public static void write(String filename, Instances data) throws Exception
writes the data to the given file.

Parameters:
  `filename` - the file to write the data to
  `data` - the data to store
Throws:
  `Exception` - if writing fails

### write

public static void write(Saver saver, Instances data) throws Exception
writes the data via the given saver.

Parameters:
  `saver` - the saver to use for writing the data
  `data` - the data to store
Throws:
  `Exception` - if writing fails

### write

public static void write(OutputStream stream, Instances data) throws Exception
writes the data to the given stream (always in ARFF format).

Parameters:
  `stream` - the stream to write the data to (ARFF format)
  `data` - the data to store
Throws:
  `Exception` - if writing fails

### main

public static void main(String[] args) throws Exception
for testing only - takes a data file as input and a data file for the output.

Parameters:
  `args` - the commandline arguments
Throws:
  `Exception` - if something goes wrong

### getRevision

public String getRevision()
Returns the revision string.

Specified by:
  `getRevision` in interface `RevisionHandler`
Returns:
  the revision