# Package de.flam.flcbyt

This package provides a Java interface for the FLAM Byte Interface (flcbyt), including InputStream and OutputStream classes to facilitate usage.

See: Description

- Class Summary
  Class | Description
  --- | ---
  FlamByteInterface | This interface provides byte-wise or record-oriented sequential read and write access to original files.
  FlamInputStream | This InputStream provides sequential read access to original files.
  FlamOutputStream | This InputStream provides sequential write access to original files.
  NativeLibraryLoader | Responsible for loading the native DLL required to use the FLAM byte interface.

## Package de.flam.flcbyt Description

This package provides a Java interface for the FLAM Byte Interface (flcbyt), including InputStream and OutputStream classes to facilitate usage.

The FLAM Byte Interface is a library written in C. It is accessed via Java Native Interface (JNI) in conjunction with a native DLL (flcbytjava). This library must be loaded to use the interface (see `loadLibrary()`). For most platforms, a pre-compiled version can be found in the lib directory of your FLAM installation.

Some additional notes:

- This Java library and the JNI DLL counterpart must be compatible in order to work. If you update your FLAM5 installation, you might need to update this library as well. Incompatible Java library and JNI DLL pairs will result in an error when attempting to load the DLL.
- The architecture of your FLAM installation must match the architecture of your JVM. If you are running a 64 bit JVM, the 64 bit version of FLAM is required.

The native JNI DLL (flcbytjava) depends on the DLLs of your FLAM installation. You have to make sure that flcbytjava can find them, otherwise loadLibrary() will fail with a linking error. On Windows, you would typically add the bin directory of the FLAM installation (e.g. C:\Programme\limes\flam\bin) to your PATH environment variable. On Linux, the LD_LIBRARY_PATH environment variable must contain the lib directory of the FLAM installation (e.g. /opt/limes/flam/lib/). The library path can also passed as Java VM parameter: `-Djava.library.path=/path/to/dll`