begin process at 2010 02 10 09:22:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Divers

 > 

Général

 > 

insérer espaces


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

insérer espaces

lundi 1 juin 2009 à 17:24:12 | insérer espaces

bossou

Bonjour.
j'ai un fichier texte dans lequel je voudrais insérer des espaces à la fin de chaque ligne jusqu'à atteindre 119 caractères par ligne.j'ai essayé de faire ceci:

int

nbCaract=119;

String space=" ";   (l'élément à insérer)

//int arithm=new_test.length()+( nbCaract - new_test.length() );
for (int i=0; i<d.length-2;i++)
{
         new_test= d[i];   
                    if( new_test.length()< nbCaract )
                     {
                     fichier.write(new_test);
                     //fichier.write(space * arithm);
                    System.out.println(new_test);
                    System.out.println("longueur:"+new_test.length());
                   fichier.write("\n");
                    }

}

mais ça ne marche pas. aidez moi svp

lundi 1 juin 2009 à 17:38:42 | Re : insérer espaces

kirua12

Salut,

que veux tu dire par 'ça ne marche pas' ?
c'est quoi le tableau 'd' ?

lundi 1 juin 2009 à 17:41:38 | Re : insérer espaces

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Salut,

Il te suffit d'ajouter autant d'espace que nécessaire à chaque ligne pour que la longueur de la ligne fasse 119 caractères (bien entendu, il faut utiliser un StringBuffer pour optimiser les performances !) :

final int NOMBRE_CARACTERES = 119;
final String CARACTERE_FIN = " ";

for (int i=0; i<d.length-2;i++) {
  new_test= d[i];
  int longueur = new_test.length();
  if (longueur > NOMBRE_CARACTERES) {
    longueur = NOMBRE_CARACTERES - longueur;
  } else {
    longueur = 0;
  }
  for (int j = 0; j < longueur; j++) {
    d[i] += CARACTERE_FIN;
  }
}
mardi 2 juin 2009 à 14:10:00 | Re : insérer espaces

bossou

merci pour la réponse. j'ai essayé ta solution mais ça ne marche pas je te post là tout le code afin que tu ais une idée de tout le code.

public static void main(String[] args) throws IOException{
  
  String fich="C:/fichierTexte.txt2";
  File f = new File(fich);
  
  // chargement du fichier dans le bufferedReader
  BufferedReader b = new BufferedReader(new FileReader(f.toString()));
  String c, line ="";
  
  //tant qu'on n'est pas à la fin du fichier
  while((c = b.readLine()) != null)
  {
   //on ajoute les lignes
   line += c+"\n";  
  }
  
  //à la fin de chaque ligne on passe à la ligne suivante
  String d[] = line.split("\n");
  String new_test ="";
  
  FileWriter fichier= new FileWriter(fich);
  
  for (int i=0; i<d.length-2;i++)
  {
   final int NOMBRE_CARACTERES = 119;
   final String CARACTERE_FIN = " ";
   new_test= d[i];
   int longueur = new_test.length();
     if (longueur > NOMBRE_CARACTERES) {
       longueur = NOMBRE_CARACTERES - longueur;
     } else {
       longueur = 0;
     }
     for (int j = 0; j < longueur; j++) {
       d[i] += CARACTERE_FIN;
     }
   fichier.write(new_test);
   fichier.write("\n");
  } 
  new_test=d[d.length-2];
  fichier.write(new_test);
  System.out.println("done");
  fichier.close();
 }
mardi 2 juin 2009 à 14:32:06 | Re : insérer espaces

kirua12

Normal.

tu modifies le contenu de ton tableau mais tu écris la variable new_test dans le fichier mais vu que tu fais de la concaténation de chaines, d[i] et new_test ne pointent pas sur la même valeur.
Tu écris donc ce que tu as lu. Remplace fichier.write(new_test) par fichier.write(d[i]).

De plus change le sens de la condition sur la longueur :
if (longueur < NOMBRE_CARACTERES)





mardi 2 juin 2009 à 15:06:34 | Re : insérer espaces

bossou

merci ça marche pour toutes les lignes sauf pour la  dernière ligne. mais je vais chercher pour que ça marche pour toutes les lignes. merci beaucoup
mardi 2 juin 2009 à 16:39:45 | Re : insérer espaces

bossou

je m'excuse de dérranger encore une fois pour mon problème. le programme marche bien mais il ne prend pas en compte la dernière ligne du fichier. il ne justifie pas la dernière ligne comme les autres à 119 caractères:


  String fich="C:/fichierText.txt2";
  File f = new File(fich);
  
  // chargement du fichier dans le bufferedReader
  BufferedReader b = new BufferedReader(new FileReader(f.toString()));
  String c, line ="";
  
  //tant qu'on n'est pas à la fin du fichier
  while((c = b.readLine()) != null)
  {
   //on ajoute les lignes
   line += c+"\n";   
  }
  
  //à la fin de chaque ligne on passe à la ligne suivante
  String d[] = line.split("\n");
  String new_test ="";
  FileWriter fichier= new FileWriter(fich);
  
  for (int i=0; i<d.length-2;i++)
  {
   final int NOMBRE_CARACTERES = 119;
   final String CARACTERE_FIN =" ";
   new_test= d[i];
   int longueur = new_test.length();
     if (longueur < NOMBRE_CARACTERES)
     {
       longueur = NOMBRE_CARACTERES - longueur;
     }
     else
     {
       longueur = 0;
     }
     for (int j = 0; j < longueur; j++)
     {
       d[i] += CARACTERE_FIN;
     }
   
   fichier.write(d[i]);
   fichier.write("\n");
  }
  
  new_test=d[d.length-2];
  
  fichier.write(new_test);
  System.out.println("done");
  fichier.close();
mardi 2 juin 2009 à 17:31:36 | Re : insérer espaces

kirua12

tu n'écris pas toutes les lignes car tu t'arrêtes à l'avant dernière (d[d.length-2]). Ensuite cette ligne ne passe pas dans la boucle.
Pourquoi ta condition de sortie de boucle est i<d.length-2 et non i<d.length ?


mardi 2 juin 2009 à 17:53:12 | Re : insérer espaces

bossou

je fais i<d.length-2 pour supprimer les deux dernières lignes. Le but de mon programme est en fait de supprimer la dernière ligne de mon fichier et de justifier toutes les lignes à 119 caractères. là je supprime bien la ligne que je veux maislorsqu'il justifie toutes les lignes du fichier à 119 caractères il ne prend pas en compte la dernière ligne.
mardi 2 juin 2009 à 18:23:07 | Re : insérer espaces

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Ben à ce moment là pourquoi length-2, arrête toi à length-1...


Cette discussion est classée dans : fichier, test, espaces, insérer, length


Répondre à ce message

Sujets en rapport avec ce message

Création d'un fichier html [ par chleuh ] Salut tout le monde j'ai un p'ti souci:En fait le but du jeu c'est de récupérér dans un fichier txt des données puis de générer un fichier html avec c FileNotFoundException [ par Nactarus ] Salut je dois réaliser un parser de fichier et déjà rien qu'à essayer d'ouvrir  le fichier ca plante... pouvez-vous m'aider? Code: import java.io.*; FileChooser : test d'existance de fichier [ par rimkazz ] Bonjour J'aimerai juste rendre inaccessible le champs "nom de fichier", pour que l'utilisateur ne puisse écrire dedans MERCI test sur un fichier [ par ludoW21 ] Bonjour,j'aimerais tester si mon fichier est binaire ou pas. Y a-t-il une fonction en java qui me permet de vérifier cela? Ou quelqu'un a-t-il déjà ré Quelques questions sur mon fichier à accès direct [ par daviddubois ] Bonjour tout le monde,J'ai un exercice qui consiste à remplir un fichier à accès direct avec 20 nombres aléatoires (de 1 à 10).J'ai codé ce bout de co Inserer un fichier dans oracle (8i et plus) [ par MarsOran ] Bonjour, Je souhaite insérer un fichier dans oracle dans un champs de type BLOB. En regardant sur le forum (et sur le net), je trouve une proposition Problème retour chariot JSP [ par sulfur_om ] Bonjour.Voila, je dois creer une JSP qui lit dans un fichier *.txt et qui affiche le contenu dans la page d'un navigateur web.J'y suis arrivé mais j'a Besoin de telecharger un fichier [ par aspa33 ] Voila j'aurais besoin de télécharger un fichier, mais voila, je suis derrière un pare feu ou bien je ne sais quoi qui me met dans l'impossibilité de t upload automatique [ par Nampter ] Bonjour,Je cherche une piste pour uploader un fichier  sur un serveur FTP lorsque ce fichier est présent dans mon répertoireExemple:  Si  test.txt pré comment insérer des données dans ma base via java [ par nam90 ] bonjour à tous,je voulais savoir comment je peux insérer des données qui se trouve un fichier excel directement dans ma base sans faire insert into ma


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 14,492 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales