Package weka.core.converters
Class ArffLoader
- java.lang.Object
-
- weka.core.converters.AbstractLoader
-
- weka.core.converters.AbstractFileLoader
-
- weka.core.converters.ArffLoader
-
- All Implemented Interfaces:
java.io.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: 11137 $
- 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.
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
FILE_EXTENSION
the file extensionstatic java.lang.String
FILE_EXTENSION_COMPRESSED
-
Fields inherited from interface weka.core.converters.Loader
BATCH, INCREMENTAL, NONE
-
-
Constructor Summary
Constructors Constructor Description ArffLoader()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Instances
getDataSet()
Return the full data set.java.lang.String
getFileDescription()
Returns a description of the file type.java.lang.String
getFileExtension()
Get the file extension used for arff filesjava.lang.String[]
getFileExtensions()
Gets all the file extensions used for this type of fileInstance
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.java.lang.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.java.lang.String
globalInfo()
Returns a string describing this Loaderstatic void
main(java.lang.String[] args)
Main method.void
reset()
Resets the Loader ready to read a new data set or the same data set again.java.io.File
retrieveFile()
get the File specified as the sourcejava.lang.String
retrieveURL()
Return the current urlvoid
setFile(java.io.File file)
sets the source Filevoid
setSource(java.io.InputStream in)
Resets the Loader object and sets the source of the data set to be the supplied InputStream.void
setSource(java.net.URL url)
Resets the Loader object and sets the source of the data set to be the supplied url.void
setURL(java.lang.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
-
-
-
-
Method Detail
-
globalInfo
public java.lang.String globalInfo()
Returns a string describing this Loader- Returns:
- a description of the Loader suitable for displaying in the explorer/experimenter gui
-
getFileExtension
public java.lang.String getFileExtension()
Get the file extension used for arff files- Specified by:
getFileExtension
in interfaceFileSourcedConverter
- Returns:
- the file extension
-
getFileExtensions
public java.lang.String[] getFileExtensions()
Gets all the file extensions used for this type of file- Specified by:
getFileExtensions
in interfaceFileSourcedConverter
- Returns:
- the file extensions
-
getFileDescription
public java.lang.String getFileDescription()
Returns a description of the file type.- Specified by:
getFileDescription
in interfaceFileSourcedConverter
- Returns:
- a short file description
-
reset
public void reset() throws java.io.IOException
Resets the Loader ready to read a new data set or the same data set again.- Specified by:
reset
in interfaceLoader
- Overrides:
reset
in classAbstractFileLoader
- Throws:
java.io.IOException
- if something goes wrong
-
setSource
public void setSource(java.net.URL url) throws java.io.IOException
Resets the Loader object and sets the source of the data set to be the supplied url.- Parameters:
url
- the source url.- Throws:
java.io.IOException
- if an error occurs
-
retrieveFile
public java.io.File retrieveFile()
get the File specified as the source- Specified by:
retrieveFile
in interfaceFileSourcedConverter
- Overrides:
retrieveFile
in classAbstractFileLoader
- Returns:
- the source file
-
setFile
public void setFile(java.io.File file) throws java.io.IOException
sets the source File- Specified by:
setFile
in interfaceFileSourcedConverter
- Overrides:
setFile
in classAbstractFileLoader
- Parameters:
file
- the source file- Throws:
java.io.IOException
- if an error occurs
-
setURL
public void setURL(java.lang.String url) throws java.io.IOException
Set the url to load from- Specified by:
setURL
in interfaceURLSourcedLoader
- Parameters:
url
- the url to load from- Throws:
java.io.IOException
- if the url can't be set.
-
retrieveURL
public java.lang.String retrieveURL()
Return the current url- Specified by:
retrieveURL
in interfaceURLSourcedLoader
- Returns:
- the current url
-
setSource
public void setSource(java.io.InputStream in) throws java.io.IOException
Resets the Loader object and sets the source of the data set to be the supplied InputStream.- Specified by:
setSource
in interfaceLoader
- Overrides:
setSource
in classAbstractLoader
- Parameters:
in
- the source InputStream.- Throws:
java.io.IOException
- always thrown.
-
getStructure
public Instances getStructure() throws java.io.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 interfaceLoader
- Specified by:
getStructure
in classAbstractLoader
- Returns:
- the structure of the data set as an empty set of Instances
- Throws:
java.io.IOException
- if an error occurs
-
getDataSet
public Instances getDataSet() throws java.io.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 interfaceLoader
- Specified by:
getDataSet
in classAbstractLoader
- Returns:
- the structure of the data set as an empty set of Instances
- Throws:
java.io.IOException
- if there is no source or parsing fails
-
getNextInstance
public Instance getNextInstance(Instances structure) throws java.io.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 interfaceLoader
- Specified by:
getNextInstance
in classAbstractLoader
- 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:
java.io.IOException
- if there is an error during parsing
-
getRevision
public java.lang.String getRevision()
Returns the revision string.- Specified by:
getRevision
in interfaceRevisionHandler
- Returns:
- the revision
-
main
public static void main(java.lang.String[] args)
Main method.- Parameters:
args
- should contain the name of an input file.
-
-