Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.fudaa.dodico.fortran
Class FortranBinaryOutputStream  view FortranBinaryOutputStream download FortranBinaryOutputStream.java

java.lang.Object
  extended byjava.io.OutputStream
      extended byjava.io.FilterOutputStream
          extended byjava.io.DataOutputStream
              extended byorg.fudaa.dodico.fortran.NativeBinaryOutputStream
                  extended byorg.fudaa.dodico.fortran.FortranBinaryOutputStream
All Implemented Interfaces:
java.io.DataOutput

public class FortranBinaryOutputStream
extends NativeBinaryOutputStream

Une classe facilitant l'écriture de fichiers binaires lus par Fortran. ATTENTION les methodes heritees et non redéfinies dans cette donneront des résultats faux. L'équivalence d'intructions entre Java et Fortran se fera de la manière suivante :

 (en considérant i=integer/int, f=real/float, d=double precision/double et
 s=character*()/String)
 1) Pour un fichier à acces séquentiel :
   Fortran
     open  (unit=10,file='fichier.bin',access='sequentiel',form='unformatted')
     write (unit=10) ,,,
     ...
     close (unit=10)
   Java
     FortranBinaryOutputStream out=
      new FortranBinaryOutputStream(new FileOutputStream("fichier.bin"),true);
     out.writeInteger(i);
     out.writeReal(f);
     out.writeDoublePrecision(d);
     out.writeCharacter(s);
     out.writeRecord();
     ...
     out.close();
 2) Pour un fichier à acces direct :
   Fortran
     open(unit=10,file='fichier.bin',access='direct',recl=30,form='unformatted')
     write (unit=10,rec=1) ,,,
     ...
     close (unit=10)
   Java
     FortranBinaryOutputStream out=
      new FortranBinaryOutputStream(new FileOutputStream("fichier.bin"),false);
     out.setRecordLength(30);
     out.writeInteger(i);
     out.writeReal(f);
     out.writeDoublePrecision(d);
     out.writeCharacter(s);
     out.writeRecord();
     ...
     out.close();
 

Version:
$Id: FortranBinaryOutputStream.java,v 1.8 2002/11/25 09:59:25 deniger Exp $

Field Summary
private  java.io.ByteArrayOutputStream arrayStream_
           
private  NativeBinaryOutputStream bufStream_
           
private  int recordLength_
           
private  boolean sequential_
           
 
Fields inherited from class org.fudaa.dodico.fortran.NativeBinaryOutputStream
buf, i1, i2, i3, i4, l1, l2, l3, l4, l5, l6, l7, l8, s1, s2, SPARC, X86
 
Fields inherited from class java.io.DataOutputStream
written
 
Fields inherited from class java.io.FilterOutputStream
out
 
Constructor Summary
FortranBinaryOutputStream(java.io.OutputStream _out, boolean _sequential)
          Création en précisant si le fichier binaire est à access séquentiel ou non
FortranBinaryOutputStream(java.io.OutputStream _out, boolean _sequential, java.lang.String _architectureID)
          Création en précisant si le fichier binaire est à access séquentiel ou non
 
Method Summary
 void close()
          Fermeture du fichier
 int getRecordLength()
          Retourne la longueur des enregistrements (pour les fichiers à accès Direct
 void setRecordLength(int _length)
          Affectation de la longueur des enregistrements (pour les fichiers à accès Direct)
 void writeCharacter(java.lang.String _s)
          Ecriture d'un champ chaine de caractères "character" Fortran
 void writeDoublePrecision(double _d)
          Ecriture d'un champ réel en double précision "double precision" Fortran
 void writeInteger(int _i)
          Ecriture d'un champ entier "integer" Fortran
 void writeReal(float _f)
          Ecriture d'un champ réel "real" Fortran
 void writeRecord()
          Ecriture des champs de l'enregistrement.
 
Methods inherited from class org.fudaa.dodico.fortran.NativeBinaryOutputStream
setMachineType, writeFloat_32, writeFloat_64, writeInt_16, writeInt_32, writeInt_64, writeInt_8, writeUInt_16, writeUInt_32, writeUInt_8
 
Methods inherited from class java.io.DataOutputStream
flush, size, write, write, writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeDouble, writeFloat, writeInt, writeLong, writeShort, writeUTF
 
Methods inherited from class java.io.FilterOutputStream
write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.io.DataOutput
write
 

Field Detail

bufStream_

private NativeBinaryOutputStream bufStream_

arrayStream_

private java.io.ByteArrayOutputStream arrayStream_

sequential_

private boolean sequential_

recordLength_

private int recordLength_
Constructor Detail

FortranBinaryOutputStream

public FortranBinaryOutputStream(java.io.OutputStream _out,
                                 boolean _sequential)
                          throws java.io.IOException
Création en précisant si le fichier binaire est à access séquentiel ou non


FortranBinaryOutputStream

public FortranBinaryOutputStream(java.io.OutputStream _out,
                                 boolean _sequential,
                                 java.lang.String _architectureID)
                          throws java.io.IOException
Création en précisant si le fichier binaire est à access séquentiel ou non

Method Detail

setRecordLength

public void setRecordLength(int _length)
Affectation de la longueur des enregistrements (pour les fichiers à accès Direct)


getRecordLength

public int getRecordLength()
Retourne la longueur des enregistrements (pour les fichiers à accès Direct


writeCharacter

public void writeCharacter(java.lang.String _s)
                    throws java.io.IOException
Ecriture d'un champ chaine de caractères "character" Fortran


writeInteger

public void writeInteger(int _i)
                  throws java.io.IOException
Ecriture d'un champ entier "integer" Fortran


writeReal

public void writeReal(float _f)
               throws java.io.IOException
Ecriture d'un champ réel "real" Fortran


writeDoublePrecision

public void writeDoublePrecision(double _d)
                          throws java.io.IOException
Ecriture d'un champ réel en double précision "double precision" Fortran


writeRecord

public void writeRecord()
                 throws java.io.IOException
Ecriture des champs de l'enregistrement. L'enregistrement doit etre écrit pour que les champs soient également écrits sur le fichiers. Un enregistrement correspond à une instruction WRITE du Fortran


close

public void close()
           throws java.io.IOException
Fermeture du fichier