File Java

Fermé
tsanta Messages postés 73 Date d'inscription jeudi 18 juin 2009 Statut Membre Dernière intervention 3 mai 2010 - 21 juin 2009 à 13:02
tsanta Messages postés 73 Date d'inscription jeudi 18 juin 2009 Statut Membre Dernière intervention 3 mai 2010 - 21 juin 2009 à 13:45
slt
j´ai kelke probleme de comprehension de code la!je suis juste debutante et j´ai du mal a comprendre la code ci-dessous
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
FileInputStream in=new FileInputStream(args[0]);
FileOutputStream out=new FileOutputStream(args[1]);

int c;
while((c=in.read())!=1){
out.write(c);

}
in.close();
out.flush();
out.close();
}
le prbleme c´est surtout avec ces args[0 ] et ergs[1]
Et puis apres ou je dois importer de args[0] si je veux compiler mon programme.
NB je travaille avec Eclispe
merci de votre reponse
A voir également:

4 réponses

Hello,

> je travaille avec Eclispe
Ca se voit ^^

Alors : args[], c'est le tableau des arguments.
Quand tu lance un programme, tu tape "java monprogramme argument0 argument1 argument2".
Ces "argumentX" sont des variables que tu donnes quand le programme se lance. Ils sont repris dans le tableau args[].

> FileInputStream in=new FileInputStream(args[0]);
ouvre le fichier en premier argument pour le lire

> FileOutputStream out=new FileOutputStream(args[1]);
Ouvre le fichier en second argument pour y écrire

> while((c=in.read())!=1){
tant que le programme ne rencontre pas "1" dans le fichier ouvert en lecture...

> out.write(c);
Il ecrit le nombre rencontré

> in.close();
Fermeture du fichier lu

> out.flush();
flush sert à écrire (avant les infos sont justes conservées dans un tampon)

> out.close();
fermeture du fichier écrit

Voila, tu comprend mieux ton algorithme ?
Il lit un fichier contenant des nombres et recopie tout ce qui précède le chiffre 1.
0
tsanta Messages postés 73 Date d'inscription jeudi 18 juin 2009 Statut Membre Dernière intervention 3 mai 2010 2
21 juin 2009 à 13:28
je ne comprends exactement pas!
tu dis "java monprogramme argument0 argument1 argument2". tu penses alors ke je dois taper ca dans mon console ou koi?
Mais pour compiler mon programme avec eclipse je clique juste run et le programme compile et s´excute!
pkoi alors taper ca?
La methode doit donc connaitre ces arguments non?mais commenz puis je le faire savoir !
peut etre ma kestion est trop bete mais je suis tellement nulle en Java!tu vois je commence !!
merci de ta comprehension
0
En fait, toi, tu compile avec eclipse, mais le mec en face, il utilisera pas eclipse.
Toi, une fois que tu as compilé, tu prends les fichiers .class dans le répertoire bin de ton projet. C'est ça ton programme.
Et pour le lancer, tu dois ouvrir une console, aller dans le répertoire ou se trouve le programme, et taper "java nomduprogramme fichieralire fichieraecrire" pour lancer ton programme.
Si tu ne tape pas ça, le programme ne saura pas quels fichiers charger.
Pour bien faire, tu devrais ajouter juste au début du main(args[])

if(args.length == 0)
{
System.out.println("Erreur !");
System.out.println("utilisation : java monprgramme fichieralire fichieraecrire");
System.exit(0);
}

Pour afficher un message d'erreur si le programme n'est pas lancé correctement.

Sur ce, je dois partir...
Bonne chance !
0
tsanta Messages postés 73 Date d'inscription jeudi 18 juin 2009 Statut Membre Dernière intervention 3 mai 2010 2
21 juin 2009 à 13:45
thanks!!
0