java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
java.io.DataOutputStream
org.fudaa.dodico.fortran.NativeBinaryOutputStream
org.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 $
| 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 |
|
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 java.io.DataOutputStream |
flush, size, write, write, writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeDouble, writeFloat, writeInt, writeLong, writeShort, writeUTF |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
bufStream_
private NativeBinaryOutputStream bufStream_
arrayStream_
private java.io.ByteArrayOutputStream arrayStream_
sequential_
private boolean sequential_
recordLength_
private int recordLength_
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
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