Ouvrir des fichiers avec le beanshell

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Ouvrir des fichiers avec le beanshell

Camila
Bonjour,

Je viens vers vous car je suis en train de prendre en main le beanshell.

J'ai réussi à traduire mes shell en beanshell, ce qui enlève une étape à tous mes traitements.

Maintenant, je voudrais optimiser un peu. A savoir, j'aimerais par exemple charger tous les fichiers disponibles dans un répertoire sans avoir à rentrer en dur la date (par exemple).

Pour cela, je dis que je veux exécuter une requête SQL si (condition). Par exemple, pour charger les fichiers de densité de population, avant je définissais une variable year et je donnais en dur l'année que je voulais. Maintenant, je voudrais pouvoir faire en sorte que tous mes fichiers disponibles se charge dans mon geocatalog si year est inférieur ou égal à 2100.

Voici mon bout de code:

pathin = "'/home/legroux/PLATEFORME_ACCLIMAT/SORTIES/TOULOUSE/SYST_1_REACTIF/URBAIN/NEDUM/sorties_standard/";
int year;
if (year<=2100) {
SQL("execute register (" + pathin + "densite_de_population_" + year + ".asc');");
}


L'erreur suivante s'ouvre, où year apparaît systématiquement comme égal à 0.

Caused by: The specified file does not exist! Path: /home/legroux/PLATEFORME_ACCLIMAT/SORTIES/TOULOUSE/SYST_1_REACTIF/URBAIN/NEDUM/sorties_standard/densite_de_population_0.asc

J'ai aussi essayé avec une boucle while, mais là je n'ai même pas d'erreur qui apparaît, le logiciel bug et je ne peux plus rien faire.

Je dois oublier quelque chose, ou me tromper quelque part mais je n'arrive pas à savoir où... !
J'espère que vous pourrez m'aider !

Merci par avance.

Bonne journée.
Camila.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Ouvrir des fichiers avec le beanshell

Camila
Bonjour,

n'ayant pas de réponse, j'ai continué à chercher toute seule. J'arrive désormais à ouvrir tous les fichiers asc d'un répertoire sans avoir à spécifier en dur les années.

mon code (si jamais quelqu'un se pose la même question ! ) :

pathin = "'/home/legroux/PLATEFORME_ACCLIMAT/SORTIES/TOULOUSE/SYST_1_REACTIF/URBAIN/NEDUM/sorties_standard/";

int year = 2010;

while (year<=2100) {

SQL("execute register (" + pathin + "densite_de_population_" + year + ".asc');");

year = year + 1;
}


ça m'ouvre donc tous les fichiers densité de population disponibles dans un répertoire (pathin) entre l'année 2010 et l'année 2100.

Si je trouve d'autres choses, je continuerai à copier-coller mes bouts de code.

Bonne fin de journée.
A +
Camila
Loading...