Package weka.core.converters

# Class ArffLoader

java.lang.Object
weka.core.converters.AbstractLoader
weka.core.converters.AbstractFileLoader
weka.core.converters.ArffLoader

All Implemented Interfaces:
  `Serializable`, `BatchConverter`, `FileSourcedConverter`, `IncrementalConverter`, `Loader`, `URLSourcedLoader`, `EnvironmentHandler`, `RevisionHandler`

public class ArffLoader extends AbstractFileLoader implements BatchConverter, IncrementalConverter, URLSourcedLoader
Reads a source that is in arff (attribute relation file format) format.

Version:
  $Revision: 14534 $
Author:
  Mark Hall (mhall@cs.waikato.ac.nz), FracPete (fracpete at waikato dot ac dot nz)
See Also:
  - `Loader`
  - Serialized Form

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static class`
  `ArffLoader.ArffReader`
  Reads data from an ARFF file, either in incremental or batch mode.

  ## Nested classes/interfaces inherited from interface weka.core.converters.Loader

  `Loader.StructureNotReadyException`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static String`
  `FILE_EXTENSION`
  the file extension
  `static String`
  `FILE_EXTENSION_COMPRESSED`

  ### Fields inherited from interface weka.core.converters.Loader

  `BATCH, INCREMENTAL, NONE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ArffLoader()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Instances`
  `getDataSet()`
  Return the full data set.
  `String`
  `getFileDescription()`
  Returns a description of the file type.
  `String`
  `getFileExtension()`
  Get the file extension used for arff files
  `String[]`
  `getFileExtensions()`
  Gets all the file extensions used for this type of file
  `Instance`
  `getNextInstance(Instances structure)`
  Read the data set incrementally---get the next instance in the data set or returns null if there are no more instances to get.
  `boolean`
  `getRetainStringVals()`
  Get whether to retain the values of string attributes in memory (in the header) when reading incrementally.
  `String`
  `getRevision()`
  Returns the revision string.
  `Instances`
  `getStructure()`
  Determines and returns (if possible) the structure (internally the header) of the data set as an empty set of instances.
  `String`
  `globalInfo()`
  Returns a string describing this Loader
  `static void`
  `main(String[] args)`
  Main method.
  `void`
  `reset()`
  Resets the Loader ready to read a new data set or the same data set again.
  `String`
  `retainStringValsTipText()`
  Tool tip text for this property
  `File`
  `retrieveFile()`
  get the File specified as the source
  `String`
  `retrieveURL()`
  Return the current url
  `void`
  `setFile(File file)`
  sets the source File
  `void`
  `setRetainStringVals(boolean retain)`
  Set whether to retain the values of string attributes in memory (in the header) when reading incrementally.
  `void`
  `setSource(InputStream in)`
  Resets the Loader object and sets the source of the data set to be the supplied InputStream.
  `void`
  `setSource(URL url)`
  Resets the Loader object and sets the source of the data set to be the supplied url.
  `void`
  `setURL(String url)`
  Set the url to load from

  ### Methods inherited from class weka.core.converters.AbstractFileLoader

  `getUseRelativePath, runFileLoader, setEnvironment, setSource, setUseRelativePath, useRelativePathTipText`

  ### Methods inherited from class weka.core.converters.AbstractLoader

  `setRetrieval`

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

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

- ## Field Details

  - ### FILE_EXTENSION

    public static String FILE_EXTENSION
    the file extension

  - ### FILE_EXTENSION_COMPRESSED

    public static String FILE_EXTENSION_COMPRESSED

- ## Constructor Details

  - ### ArffLoader

    public ArffLoader()

- ## Method Details

  - ### globalInfo

    public String globalInfo()
    Returns a string describing this Loader
    Returns:
      a description of the Loader suitable for displaying in the explorer/experimenter gui

  - ### retainStringValsTipText

    public String retainStringValsTipText()
    Tool tip text for this property
    Returns:
      the tool tip for this property

  - ### setRetainStringVals

    public void setRetainStringVals(boolean retain)
    Set whether to retain the values of string attributes in memory (in the header) when reading incrementally.
    Parameters:
      `retain` - true if string values are to be retained in memory when reading incrementally

  - ### getRetainStringVals

    public boolean getRetainStringVals()
    Get whether to retain the values of string attributes in memory (in the header) when reading incrementally.
    Returns:
      true if string values are to be retained in memory when reading incrementally

  - ### getFileExtension

    public String getFileExtension()
    Get the file extension used for arff files
    Specified by:
      `getFileExtension` in interface `FileSourcedConverter`
    Returns:
      the file extension

  - ### getFileExtensions

    public String[] getFileExtensions()
    Gets all the file extensions used for this type of file
    Specified by:
      `getFileExtensions` in interface `FileSourcedConverter`
    Returns:
      the file extensions

  - ### getFileDescription

    public String getFileDescription()
    Returns a description of the file type.
    Specified by:
      `getFileDescription` in interface `FileSourcedConverter`
    Returns:
      a short file description

  - ### reset

    public void reset() throws IOException
    Resets the Loader ready to read a new data set or the same data set again.
    Specified by:
      `reset` in interface `Loader`
    Overrides:
      `reset` in class `AbstractFileLoader`
    Throws:
      `IOException` - if something goes wrong

  - ### setSource

    public void setSource(URL url) throws IOException
    Resets the Loader object and sets the source of the data set to be the supplied url.
    Parameters:
      `url` - the source url.
    Throws:
      `IOException` - if an error occurs

  - ### retrieveFile

    public File retrieveFile()
    get the File specified as the source
    Specified by:
      `retrieveFile` in interface `FileSourcedConverter`
    Overrides:
      `retrieveFile` in class `AbstractFileLoader`
    Returns:
      the source file

  - ### setFile

    public void setFile(File file) throws IOException
    sets the source File
    Specified by:
      `setFile` in interface `FileSourcedConverter`
    Overrides:
      `setFile` in class `AbstractFileLoader`
    Parameters:
      `file` - the source file
    Throws:
      `IOException` - if an error occurs

  - ### setURL

    public void setURL(String url) throws IOException
    Set the url to load from
    Specified by:
      `setURL` in interface `URLSourcedLoader`
    Parameters:
      `url` - the url to load from
    Throws:
      `IOException` - if the url can't be set.

  - ### retrieveURL

    public String retrieveURL()
    Return the current url
    Specified by:
      `retrieveURL` in interface `URLSourcedLoader`
    Returns:
      the current url

  - ### setSource

    public void setSource(InputStream in) throws IOException
    Resets the Loader object and sets the source of the data set to be the supplied InputStream.
    Specified by:
      `setSource` in interface `Loader`
    Overrides:
      `setSource` in class `AbstractLoader`
    Parameters:
      `in` - the source InputStream.
    Throws:
      `IOException` - always thrown.

  - ### getStructure

    public Instances getStructure() throws IOException
    Determines and returns (if possible) the structure (internally the header) of the data set as an empty set of instances.
    Specified by:
      `getStructure` in interface `Loader`
    Specified by:
      `getStructure` in class `AbstractLoader`
    Returns:
      the structure of the data set as an empty set of Instances
    Throws:
      `IOException` - if an error occurs

  - ### getDataSet

    public Instances getDataSet() throws IOException
    Return the full data set. If the structure hasn't yet been determined by a call to getStructure then method should do so before processing the rest of the data set.
    Specified by:
      `getDataSet` in interface `Loader`
    Specified by:
      `getDataSet` in class `AbstractLoader`
    Returns:
      the structure of the data set as an empty set of Instances
    Throws:
      `IOException` - if there is no source or parsing fails

  - ### getNextInstance

    public Instance getNextInstance(Instances structure) throws IOException
    Read the data set incrementally---get the next instance in the data set or returns null if there are no more instances to get. If the structure hasn't yet been determined by a call to getStructure then method should do so before returning the next instance in the data set.
    Specified by:
      `getNextInstance` in interface `Loader`
    Specified by:
      `getNextInstance` in class `AbstractLoader`
    Parameters:
      `structure` - the dataset header information, will get updated in case of string or relational attributes
    Returns:
      the next instance in the data set as an Instance object or null if there are no more instances to be read
    Throws:
      `IOException` - if there is an error during parsing

  - ### getRevision

    public String getRevision()
    Returns the revision string.
    Specified by:
      `getRevision` in interface `RevisionHandler`
    Returns:
      the revision

  - ### main

    public static void main(String[] args)
    Main method.
    Parameters:
      `args` - should contain the name of an input file.