public class OWFileOutputStream
extends java.io.OutputStream
OWFile
or to a OWFileDescriptor
. Whether or not
a file is available or may be created depends upon the underlying
platform. This platform allows a file to be opened
for writing by only one OWFileOutputStream (or other
file-writing object) at a time. In such situations the constructors in
this class will fail if the file involved is already open. The 1-Wire
File system must be formatted before use. Use OWFile:format to prepare
a device or group of devices.
The 1-Wire device will only be written in the following situations
getFD()
and call the sync()
method of the
OWFileDescriptor
until a SyncFailedException
is
NOT thrown
IOException
is thrown
close()
finalize()
WARNING could deadlock if device not
synced and inside beginExclusive/endExclusive block.
Note that the 1-Wire File system can reside across multiple 1-Wire devices. In this case only one of the devices need be supplied to the constructor. Each device in a multi-device file system contains information to reacquire the entire list.
File and directory name limitations
// create a 1-Wire file at root
OWFileOutputStream outstream = new OWFileOutputStream(owd, "DEMO.0");
// write the data (in a byte array data[])
outstream.write(data);
// get 1-Wire File descriptor to flush to device
OWFileDescriptor owfd = owfile.getFD();
// loop until sync is successful
do
{
try
{
owfd.sync();
done = true;
}
catch (SyncFailedException e)
{
// do something
...
done = false;
}
}
while (!done)
// close the stream to release system resources
outstream.close();
OWFile
,
OWFileDescriptor
,
OWFileInputStream
Constructor and Description |
---|
OWFileOutputStream(OneWireContainer[] owd,
java.lang.String name)
Creates an output file stream to write to the file with the
specified name.
|
OWFileOutputStream(OneWireContainer[] owd,
java.lang.String name,
boolean append)
Creates an output file stream to write to the file with the specified
name . |
OWFileOutputStream(OneWireContainer owd,
java.lang.String name)
Creates an output file stream to write to the file with the
specified name.
|
OWFileOutputStream(OneWireContainer owd,
java.lang.String name,
boolean append)
Creates an output file stream to write to the file with the specified
name . |
OWFileOutputStream(OWFile file)
Creates a file output stream to write to the file represented by
the specified
File object. |
OWFileOutputStream(OWFileDescriptor fdObj)
Creates an output file stream to write to the specified file
descriptor, which represents an existing connection to an actual
file in the Filesystem.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes this file output stream and releases any system resources
associated with this stream.
|
void |
finalize()
Cleans up the connection to the file, and ensures that the
close method of this file output stream is
called when there are no more references to this stream. |
OWFileDescriptor |
getFD()
Returns the file descriptor associated with this stream.
|
void |
write(byte[] b)
Writes
b.length bytes from the specified byte array
to this file output stream. |
void |
write(byte[] b,
int off,
int len)
Writes
len bytes from the specified byte array
starting at offset off to this file output stream. |
void |
write(int b)
Writes the specified byte to this file output stream.
|
public OWFileOutputStream(OneWireContainer owd, java.lang.String name) throws OWFileNotFoundException
OWFileDescriptor
object is
created to represent this file connection.
First, if there is a security manager, its checkWrite
method is called with name
as its argument.
If the file exists but is a directory rather than a regular file, does
not exist but cannot be created, or cannot be opened for any other
reason then a FileNotFoundException
is thrown.
owd
- OneWireContainer that this Filesystem resides onname
- the system-dependent filenameFileNotFoundException
- if the file exists but is a directory
rather than a regular file, does not exist but cannot
be created, or cannot be opened for any other reasonjava.lang.SecurityException
- if a security manager exists and its
checkWrite
method denies write access
to the file.OWFileNotFoundException
public OWFileOutputStream(OneWireContainer[] owd, java.lang.String name) throws OWFileNotFoundException
OWFileDescriptor
object is
created to represent this file connection.
First, if there is a security manager, its checkWrite
method is called with name
as its argument.
If the file exists but is a directory rather than a regular file, does
not exist but cannot be created, or cannot be opened for any other
reason then a FileNotFoundException
is thrown.
owd
- array of OneWireContainers that this Filesystem resides onname
- the system-dependent filenameFileNotFoundException
- if the file exists but is a directory
rather than a regular file, does not exist but cannot
be created, or cannot be opened for any other reasonjava.lang.SecurityException
- if a security manager exists and its
checkWrite
method denies write access
to the file.OWFileNotFoundException
public OWFileOutputStream(OneWireContainer owd, java.lang.String name, boolean append) throws OWFileNotFoundException
name
. If the second argument is true
, then
bytes will be written to the end of the file rather than the beginning.
A new OWFileDescriptor
object is created to represent this
file connection.
First, if there is a security manager, its checkWrite
method is called with name
as its argument.
If the file exists but is a directory rather than a regular file, does
not exist but cannot be created, or cannot be opened for any other
reason then a FileNotFoundException
is thrown.
owd
- OneWireContainer that this Filesystem resides onname
- the system-dependent file nameappend
- if true
, then bytes will be written
to the end of the file rather than the beginningFileNotFoundException
- if the file exists but is a directory
rather than a regular file, does not exist but cannot
be created, or cannot be opened for any other reason.java.lang.SecurityException
- if a security manager exists and its
checkWrite
method denies write access
to the file.OWFileNotFoundException
public OWFileOutputStream(OneWireContainer[] owd, java.lang.String name, boolean append) throws OWFileNotFoundException
name
. If the second argument is true
, then
bytes will be written to the end of the file rather than the beginning.
A new OWFileDescriptor
object is created to represent this
file connection.
First, if there is a security manager, its checkWrite
method is called with name
as its argument.
If the file exists but is a directory rather than a regular file, does
not exist but cannot be created, or cannot be opened for any other
reason then a FileNotFoundException
is thrown.
owd
- array of OneWireContainers that this Filesystem resides onname
- the system-dependent file nameappend
- if true
, then bytes will be written
to the end of the file rather than the beginningFileNotFoundException
- if the file exists but is a directory
rather than a regular file, does not exist but cannot
be created, or cannot be opened for any other reason.java.lang.SecurityException
- if a security manager exists and its
checkWrite
method denies write access
to the file.OWFileNotFoundException
public OWFileOutputStream(OWFile file) throws OWFileNotFoundException
File
object. A new
OWFileDescriptor
object is created to represent this
file connection.
First, if there is a security manager, its checkWrite
method is called with the path represented by the file
argument as its argument.
If the file exists but is a directory rather than a regular file, does
not exist but cannot be created, or cannot be opened for any other
reason then a FileNotFoundException
is thrown.
file
- the file to be opened for writing.FileNotFoundException
- if the file exists but is a directory
rather than a regular file, does not exist but cannot
be created, or cannot be opened for any other reasonjava.lang.SecurityException
- if a security manager exists and its
checkWrite
method denies write access
to the file.OWFileNotFoundException
File.getPath()
public OWFileOutputStream(OWFileDescriptor fdObj)
First, if there is a security manager, its checkWrite
method is called with the file descriptor fdObj
argument as its argument.
fdObj
- the file descriptor to be opened for writing.java.lang.SecurityException
- if a security manager exists and its
checkWrite
method denies
write access to the file descriptor.public void write(int b) throws java.io.IOException
write
method of OutputStream
.write
in class java.io.OutputStream
b
- the byte to be written.java.io.IOException
- if an I/O error occurs.public void write(byte[] b) throws java.io.IOException
b.length
bytes from the specified byte array
to this file output stream.write
in class java.io.OutputStream
b
- the data.java.io.IOException
- if an I/O error occurs.public void write(byte[] b, int off, int len) throws java.io.IOException
len
bytes from the specified byte array
starting at offset off
to this file output stream.write
in class java.io.OutputStream
b
- the data.off
- the start offset in the data.len
- the number of bytes to write.java.io.IOException
- if an I/O error occurs.public void close() throws java.io.IOException
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in class java.io.OutputStream
java.io.IOException
- if an I/O error occurs.public OWFileDescriptor getFD() throws java.io.IOException
OWFileDescriptor
object that represents
the connection to the file in the Filesystem being used
by this FileOutputStream
object.java.io.IOException
- if an I/O error occurs.OWFileDescriptor
public void finalize() throws java.io.IOException
close
method of this file output stream is
called when there are no more references to this stream.finalize
in class java.lang.Object
java.io.IOException
- if an I/O error occurs.OWFileInputStream.close()
Copyright © 1999-2012 Maxim Integrated Products. All Rights Reserved.