|
From: <de...@us...> - 2012-10-16 17:12:38
|
Revision: 7753
http://fudaa.svn.sourceforge.net/fudaa/?rev=7753&view=rev
Author: deniger
Date: 2012-10-16 17:12:32 +0000 (Tue, 16 Oct 2012)
Log Message:
-----------
CRUE-321
Issue #CRUE-321 - Conversions d'encodage ANSI <=> UTF8
Modified Paths:
--------------
trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Reader.java
trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Writer.java
Modified: trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Reader.java
===================================================================
--- trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Reader.java 2012-10-16 17:03:56 UTC (rev 7752)
+++ trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Reader.java 2012-10-16 17:12:32 UTC (rev 7753)
@@ -7,7 +7,9 @@
import java.io.Reader;
import java.net.MalformedURLException;
import java.net.URL;
+import java.nio.charset.Charset;
import java.util.ResourceBundle;
+import java.util.SortedMap;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.fudaa.ctulu.CtuluActivity;
@@ -78,10 +80,10 @@
}
/**
- * Il faut gérer les fin d'exception en douceur pour pouvoir terminer les boucles des algorithmes et les remplissages de
- * structure. Pour fortranReader eof => getLine=null ce cas est trés bien géré dans toutes mes conditions d'arret. Methode qui
- * fait avancer le fortranreader jusqu'à la prochaine ligne non commentaire. ACHTUNG: apres appel à cette méthode il ne faut pas
- * faire appel à un in_.readFields();!!!! En effet le reader sera positionné a la derniere ligne potable non commentaire à lire.
+ * Il faut gérer les fin d'exception en douceur pour pouvoir terminer les boucles des algorithmes et les remplissages de structure. Pour
+ * fortranReader eof => getLine=null ce cas est trés bien géré dans toutes mes conditions d'arret. Methode qui fait avancer le fortranreader jusqu'à
+ * la prochaine ligne non commentaire. ACHTUNG: apres appel à cette méthode il ne faut pas faire appel à un in_.readFields();!!!! En effet le reader
+ * sera positionné a la derniere ligne potable non commentaire à lire.
*
* @throws IOException
*/
@@ -193,7 +195,8 @@
analyze_.setResource(_r.toString());
analyze_.setDesc("read.file");
analyze_.setDescriptionArgs(_r.toString());
- super.setFile(new InputStreamReader(_r.openStream()));
+ SortedMap<String, Charset> availableCharsets = Charset.availableCharsets();
+ super.setFile(new InputStreamReader(_r.openStream(), Charset.forName("US-ASCII")));
} catch (final IOException e) {
Logger.getLogger(getClass().getName()).log(Level.SEVERE, "setFile " + _r, e);
}
Modified: trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Writer.java
===================================================================
--- trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Writer.java 2012-10-16 17:03:56 UTC (rev 7752)
+++ trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/io/neuf/AbstractCrue9Writer.java 2012-10-16 17:12:32 UTC (rev 7753)
@@ -1,8 +1,11 @@
package org.fudaa.dodico.crue.io.neuf;
import java.io.File;
+import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.nio.charset.Charset;
import org.apache.commons.lang.StringUtils;
import org.fudaa.ctulu.CtuluLog;
import org.fudaa.dodico.crue.common.BusinessMessages;
@@ -14,30 +17,28 @@
/**
* writer qui permet d'écrire les structures de crue 09 dans les fichiers appropriés. Utilise fortran writer
- *
+ *
* @author Adrien Hadoux
*/
public abstract class AbstractCrue9Writer extends FileCharSimpleWriterAbstract<CrueIOResu<CrueData>> {
+
/**
* Toutes les lignes qui commencent par * sont des dlignes caracteres
*/
protected final static String CARACT_COMMENT = "*";
-
/**
* Nb de lignes qui composent le titre en début de fichier. Valable pour dc et dh.
*/
protected final static int NB_LINES_TITLE = 5;
-
- /*********************************************************************************************************************
+ /**
+ * *******************************************************************************************************************
* tailel totale en caracteres d'une ligne.
*/
protected final int tailleMaxLine = 80;
-
/**
* UNe reference sur le fortran writer.
*/
FortranWriter fortranWriter;
-
private boolean warnDoneForTitle;
/**
@@ -51,7 +52,7 @@
/**
* Ecrit un commentaire avec le message passé en parametre. Commence par le caractere de commentaire.
- *
+ *
* @param message
* @throws IOException
*/
@@ -63,7 +64,7 @@
/**
* Ecrit l'Header du fichier. Commun a DC et DH.
- *
+ *
* @param data
* @throws IOException
*/
@@ -119,7 +120,7 @@
analyze_.setDesc(_f.getName());
analyze_.setDefaultResourceBundle(BusinessMessages.RESOURCE_BUNDLE);
try {
- out_ = new FileWriter(_f);
+ out_ = new OutputStreamWriter(new FileOutputStream(_f), Charset.forName("US-ASCII"));
} catch (final IOException _e) {
analyze_.manageException(_e);
}
@@ -127,7 +128,7 @@
}
protected void writeCarteValeur(final ItemVariable variable, final String carte, final double val1,
- final double val2) throws IOException {
+ final double val2) throws IOException {
fortranWriter.stringField(0, carte);
fortranWriter.stringField(1, CrueIODico.getCrue9Value(val1, variable));
fortranWriter.stringField(2, CrueIODico.getCrue9Value(val2, variable));
@@ -135,7 +136,7 @@
}
protected void writeCarteValeurAcrive(final ItemVariable variable, final String carte, final double val1,
- final double val2, boolean active) throws IOException {
+ final double val2, boolean active) throws IOException {
fortranWriter.stringField(0, carte);
if (active) {
fortranWriter.stringField(1, CrueIODico.getCrue9Value(val1, variable));
@@ -147,17 +148,16 @@
}
protected void writeCarteValeur(final ItemVariable variable, final String carte, final double val)
- throws IOException {
+ throws IOException {
fortranWriter.stringField(0, carte);
fortranWriter.stringField(1, CrueIODico.getCrue9Value(val, variable));
fortranWriter.writeFields();
}
protected void writeCarteValeurActive(final ItemVariable variable, final String carte, final double val,
- boolean active) throws IOException {
+ boolean active) throws IOException {
fortranWriter.stringField(0, carte);
fortranWriter.stringField(1, active ? CrueIODico.getCrue9Value(val, variable) : CrueIODico.REGLE_INACTIVE);
fortranWriter.writeFields();
}
-
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|