| NORSYS SOFTWARE © 2009 | NETICA API | JAVA VERSION 4.18

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## norsys.netica
Class Streamer

    java.lang.Object
      |
      +--norsys.netica.Streamer

public class Streamer
extends java.lang.Object

An I/O handle to a file (for reading, writing, etc.).
See Also:

Net(Streamer) |  | Reads a net from the file identified by the passed stream
`Net.write` |  | Saves a net to a file with name specified by the passed stream
`Net.writeFindings` |  |
`Net.readFindings` |  |

Since:
  All versions
Version:
  4.18 - October 1, 2010

Constructor Summary
`Streamer(java.io.InputStream inStream, java.lang.String streamName, Environ env)` Constructs a Norsys stream from a java.io.InputStream.
`Streamer(java.io.OutputStream outStream, java.lang.String streamName, Environ env)` Constructs a Norsys stream from a java.io.OutputStream.
`Streamer(java.lang.String fileName)` Constructs a Norsys stream for the file with name filename, in the current default Environ (see getDefaultEnviron).
`Streamer(java.lang.String fileName, Environ env)` Constructs a Norsys stream for the file with name filename.

Method Summary
`void` | `close()` Deprecated. use `finalize` instead.
`void` | `finalize()` Releases the resources (e.g., memory) used by this Streamer.
`void` | `flush()` For a Streamer constructed from a java.io.OutputStream (see Streamer(OutputStream,String,Environ)), this will transfer the current contents of the Streamer to the the java.io.OutputStream.
`Environ` | `getEnviron()` Returns this Streamer's environment.
`java.lang.String` | `getFileName()` Returns the name of the file (including full path) that this stream was last written to or read from, if any.
`void` | `setPassword(java.lang.String password)` Sets the password that Netica will use for either encrypting an output stream, or for decrypting an input stream.

Methods inherited from class java.lang.Object
`clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

public Streamer ( |
String | fileName
| ) throws NeticaException

  Constructs a Norsys stream for the file with name filename, in the current default Environ (see getDefaultEnviron). A convenience method, otherwise identical to Streamer(String, Environ). See that method for further documentation.
  Parameters:

  String |  | filename |  | Path to the file to attach to this stream.

  See Also:

  Streamer(String,Environ) |  | Same, but for any environment
  finalize |  | Delete it when done

  Example:

       //
       // Examples for UNIX / Linux
       //
       Streamer file = new Streamer ("temp3");
       Streamer file = new Streamer ("/local/project1/configure.bn.txt");
       Streamer file = new Streamer ("../nets/Umbrella.dne");
       //
       // Examples for MS Windows
       //
       Streamer file = new Streamer ("temp3");
       Streamer file = new Streamer ("C:local\\project1\\configur.txt");
       Streamer file = new Streamer ("..\\nets\\Umbrella.dne");;

public Streamer ( |
String | fileName,
Environ | env
| ) throws NeticaException

  Constructs a Norsys stream for the file with name filename.

  This stream can then be passed as an argument to methods which read or write a file, to identify which file to read or write.

  When finished with the Streamer created, delete it with finalize.

  filename may contain a path to indicate in which directory the file is located. It should be a string in the format normally understood by the operating system currently being used (see the examples below).

  filename does not have to indicate a file which already exists.
  Parameters:

  String |  | filename |  | Path to the file to attach to this stream.
  Environ |  | env |  | The Netica environment the stream is created in

  Version:
  This method is available in all versions.
  In the C Version of the API, this function is named NewFileStream_ns.
  See Also:

  finalize |  | Delete it when done
  `Net.write` |  | Saves a net to a file with name specified by the passed stream
  `Net.writeFindings` |  |
  `Net.readFindings` |  |
  Net(Streamer) |  | Reads a net from the file identified by the passed stream

  Example #1:

       net.write (new Streamer ("../nets/temp.dne"));

  Example #2:

      See write
       //
       // Examples for UNIX / Linux
       //
       Streamer file = new Streamer ("temp3", env);
       Streamer file = new Streamer ("/local/project1/configure.bn.txt", env);
       Streamer file = new Streamer ("../nets/Umbrella.dne", env);
       //
       // Examples for MS Windows
       //
       Streamer file = new Streamer ("temp3", env);
       Streamer file = new Streamer ("C:local\\project1\\configur.txt", env);
       Streamer file = new Streamer ("..\\nets\\Umbrella.dne", env);
       //
       // Examples for MacOS
       //
       Streamer file = new Streamer ("temp3", env);
       Streamer file = new Streamer ("local:project1:configure.bn.txt", env);
       Streamer file = new Streamer ("::nets:Umbrella.dne", env);

public Streamer ( |
InputStream | inStream,
String | streamName,
Environ | env
| ) throws NeticaException

  Constructs a Norsys stream from a java.io.InputStream.

  streamName is a name that will be assigned the stream internally by Netica. Should there be any problem with the stream, any exceptions thrown will use this name for describing the problem. Also, the name is the basis for making any formatting decisions, in interpreting the stream contents. For instance, if the stream will be given to a Net constructor, then if streamName ends with ".neta", the stream will be assumed to contain a net in the binary .neta file format.

  If inStream is a java.io.FileInputStream then be aware that streamName is entirely independent from the file's name. Hence, to avoid confusion, it is recommended that you use the file's name for streamName. For convenience in such a case, rather than this method, you may prefer to use Streamer(String filename).
  Parameters:

  java.io.InputStream |  | inStream |  | Any java.io.InputStream.
  String |  | streamName |  | A symbolic name to be assigned the stream, for formatting and error logging purposes.
  Environ |  | env |  | The Netica environment the stream is created in

  Example:

       // read a net stored in a String
       String dneString = "// ~->[DNET-1]->~\nbnet test{};";
       StringBufferInputStream sbis = new StringBufferInputStream (dneString);
       Net net5 = new Net (new Streamer (sbis, "myStringBuf.dne", Environ.getDefaultEnviron()));

public Streamer ( |
OutputStream | outStream,
String | streamName,
Environ | env
| ) throws NeticaException

  Constructs a Norsys stream from a java.io.OutputStream.

  streamName is a name that will be assigned the stream internally by Netica. Should there be any problem with the stream, any exceptions thrown will use this name for describing the problem. Also, the name is the basis for making any formatting decisions, in filling or emptying the stream. For instance, if the stream will be filled using `Net.write`, then if streamName ends with ".neta", the stream will filled using the binary .neta file format for nets, otherwise the ".dnet" format will be used.

  If outStream is a java.io.FileOutputStream then be aware that streamName is entirely independent from the file's name. Hence, to avoid confusion, it is recommended that you use the file's name for streamName. For convenience in such a case, rather than this method, you may prefer to use Streamer(String filename).

  Note: The outStream is only guaranteed to be filled after calling flush or finalize. Hence, always call flush or finalize after you have finished writing to the stream.
  Parameters:

  java.io.OutputStream |  | outStream |  | Any java.io.OutputStream.
  String |  | streamName |  | A symbolic name to be assigned the stream, for formatting and error logging purposes.
  Environ |  | env |  | The Netica environment the stream is created in

  Example:

       ByteArrayOutputStream baos = new ByteArrayOutputStream();
       Streamer stream = new Streamer (baos, "myByteArray.dne", net.getEnviron());
       net.write (stream);
       stream.flush(); // The byte array of baos now contains the net serialized in the standard .dne/.dnet format.

Method Detail

public void finalize ( ) throws NeticaException

  Releases the resources (e.g., memory) used by this Streamer.

  If this Streamer was constructed with either Streamer(String, Environ) or Streamer(String) then that file will be closed, if necessary, but will not be deleted.

  On the other hand, if either Streamer(OutputStream,String,Environ) or Streamer(InputStream,String,Environ) was used, then the associated OutputStream or InputStream will remain open (when a java.io.InputStream or java.io.OutputStream is closed, it cannot be re-opened).

  If Streamer(OutputStream,String,Environ) was used to construct this Streamer, this method will flush the associated java.io.OutputStream.

  If you override this method, be sure to call the base class method (super.finalize();).
  Version:

  Versions 2.09 and later have this method.
  In versions previous to 2.26, this method was named close.
  In the C Version of the API, this function is named DeleteStream_ns.
  See Also:

  Streamer |  | Creates a new file Streamer
  NewMemoryStreamer |  | Creates a new memory Streamer

  Overrides:
    `finalize` in class `java.lang.Object`

public void flush ( ) throws NeticaException

  For a Streamer constructed from a java.io.OutputStream (see Streamer(OutputStream,String,Environ)), this will transfer the current contents of the Streamer to the the java.io.OutputStream.

  Both the Streamer and the OutputStream remain open for potentially further flushes.

  If called on any other kind of Streamer, does nothing.
  Example:

      See Streamer(OutputStream,String,Environ).

public Environ getEnviron ( ) throws NeticaException

  Returns this Streamer's environment.
  Version:
  Versions 2.20 and later have this method.

public String getFileName ( ) throws NeticaException

  Returns the name of the file (including full path) that this stream was last written to or read from, if any.

  If this stream is not associated with a file, then null is returned.
  Version:

  Versions 2.20 and later have this method.
  See Also:

  Streamer(String, Environ) |  | Streamer constructor that sets filename
  Streamer(String) |  | Streamer constructor that sets filename
  Net(Streamer) |  | Initializes net's filename with the name of the file read, if the input stream was a file
  `Net.getFileName` |  | Similar, but for a Net

public void setPassword ( |
String | password
| ) throws NeticaException

  Sets the password that Netica will use for either encrypting an output stream, or for decrypting an input stream.

  Encryption/decryption is only possible for certain file formats (e.g., ".neta"). The file format is specified when the stream is created (see Streamer or NewMemoryStreamer). If strm is not for a format that allows encryption/decryption (such as .dne, .cas, .xml, or .txt), then an exception will be thrown.

  If the password supplied for reading an encrypted source is not the same password that was used by Netica to encrypt that source, then an exception will be thrown when you attempt to read from that source.

  Pass null for password to remove it, so that subsequent reading/writing from this stream will be without any encryption/decryption.
  Parameters:

  String |  | password |  | The text string to use for en/decryption

  Version:
  Versions 2.26 and later have this method.
  In the C Version of the API, this function is named SetStreamPassword_ns.
  See Also:

  Streamer |  | Create new file stream
  NewMemoryStreamer |  | Create new memory stream

  Example:

        Streamer stream = new Streamer( "myNet.neta" );
        stream.setPassword( "myPassword123" );
        net.write( stream );
        ...
        Streamer stream2 = new Streamer( "myNet.neta" );
        stream2.setPassword( "myPassword123" );
        Net net2 = new Net( stream2 ); // reads back in the encrypted file
        ...
        Streamer stream3 = new Streamer( "myNet.neta" );
        stream3.setPassword( "wrongPassword456" );
        Net net3 = new Net( stream3 ); // throws exception, since password is incorrect

public void close ( ) throws NeticaException

  Deprecated. use `finalize` instead.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD