Write to File + Relative Timestamp - JAVA
Résolu/Fermé
Manou
-
30 juin 2011 à 11:59
Manou1980 Messages postés 11 Date d'inscription jeudi 30 juin 2011 Statut Membre Dernière intervention 31 octobre 2011 - 1 juil. 2011 à 10:45
Manou1980 Messages postés 11 Date d'inscription jeudi 30 juin 2011 Statut Membre Dernière intervention 31 octobre 2011 - 1 juil. 2011 à 10:45
A voir également:
- Write to File + Relative Timestamp - JAVA
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Host file - Guide
- .Bin file - Guide
- .Dat file - Guide
3 réponses
Manou1980
Messages postés
11
Date d'inscription
jeudi 30 juin 2011
Statut
Membre
Dernière intervention
31 octobre 2011
30 juin 2011 à 15:56
30 juin 2011 à 15:56
Mon problème est que la boucle FOR dans la fonction ecrireFichier ne fonctionne pas. (dans le code, elle se trouve en gras)
Le souci se résume a ceci: Il faut que je trouve le moyen d'insérer ligne par ligne chaque caractere de la chaine de caractere tapé par l'utilisateur.
Par Exemple : Si je saisi comme chaine de caractere Bonjour je dois avoir dans mon fichier 7 lignes :
1 B
2 o
3 n
4 j
5 o
6 u
7 r
Deplus, je dois trouver le moyen de faire une concaténation avec l'heure précise avec laquelle les caracteres de la chaine de caractere ont été tapé.
Exemple :
B 14h53m13s
o 14h53m14s
n 14h53m15s
j 14h53m17s
o 14h53m18s
u 14h53m20s
r 14h53m21s
Le souci se résume a ceci: Il faut que je trouve le moyen d'insérer ligne par ligne chaque caractere de la chaine de caractere tapé par l'utilisateur.
Par Exemple : Si je saisi comme chaine de caractere Bonjour je dois avoir dans mon fichier 7 lignes :
1 B
2 o
3 n
4 j
5 o
6 u
7 r
Deplus, je dois trouver le moyen de faire une concaténation avec l'heure précise avec laquelle les caracteres de la chaine de caractere ont été tapé.
Exemple :
B 14h53m13s
o 14h53m14s
n 14h53m15s
j 14h53m17s
o 14h53m18s
u 14h53m20s
r 14h53m21s
import java.io.*; public class Profile { public static String lireString() { String ligne_lue=null; try { InputStreamReader lecteur=new InputStreamReader(System.in); BufferedReader entree=new BufferedReader(lecteur); ligne_lue=entree.readLine(); } catch(IOException err) { System.exit(0); } return ligne_lue; } public static void ecrireFichier(String path, String text) { PrintWriter ecri ; try { ecri = new PrintWriter(new FileWriter(path)); for (int i=1; i<text.length; i++) { String letter = text.substring(0, i); ecri.println(letter); text = text.substring(i+1); } ecri.flush(); ecri.close(); } catch (NullPointerException a) { System.out.println("Erreur : pointeur null"); } catch (IOException a) { System.out.println("Problème d'IO"); } } public String lireFichier (String path) { BufferedReader lect ; String tmp = ""; try { lect = new BufferedReader(new FileReader(path)) ; while (lect.ready()==true) { tmp += lect.readLine() ; } } catch (NullPointerException a) { System.out.println("Erreur : pointeur null"); } catch (IOException a) { System.out.println("Problème d'IO"); } return tmp; } public static void main (String[] args) { String ch=""; System.out.println("Entrer un Input:"); ch=Profile.lireString(); System.out.println("Input: " + ch); ecrireFichier ("example.txt", ch); } }
sakoba2010
Messages postés
157
Date d'inscription
lundi 7 février 2011
Statut
Membre
Dernière intervention
24 juillet 2013
15
30 juin 2011 à 16:39
30 juin 2011 à 16:39
Salut,
la variable text est un String donc vous devriez utiliser la fonction legnth() et non le constant length qui est réserve au tableau.
Pour découper un mot vous avez emprunter un chemin long voici un exemple simple ici:http://sakoba.byethost13.com/2011/06/30/java-split-words/
la variable text est un String donc vous devriez utiliser la fonction legnth() et non le constant length qui est réserve au tableau.
Pour découper un mot vous avez emprunter un chemin long voici un exemple simple ici:http://sakoba.byethost13.com/2011/06/30/java-split-words/
Manou1980
Messages postés
11
Date d'inscription
jeudi 30 juin 2011
Statut
Membre
Dernière intervention
31 octobre 2011
1 juil. 2011 à 10:45
1 juil. 2011 à 10:45
Je vous remercie énormément pour votre aide, le programme fonctionne.
Toutefois, d'après la fonction [B]lireString()[/B], la chaine de caractères tapée par l'utilisateur est lue par le programme et grâce à la fonction [B]ecrireFichier[/B], la chaîne de caractère est découpée en caractères qui sont insérés dans un fichier tel l'exemple qui suit:
Chaine tapée par l'utilisateur "Bon".
Contenu du Fichier example.txt:
2011-07-01 10:07:09.648 B
2011-07-01 10:07:09.654 o
2011-07-01 10:07:09.655 n
Ma question:
Comment faire pour extraire [B]directement[/B] caractère par caractère la chaine de caractère tapée par l'utilisateur afin de lui affecté l'heure exacte a laquelle le caractère a été tapé par l'utilisateur?
Ce que j'ai fait c'est que j'ai récupéré la chaine puis je les découpé en caractère puis je les ai inséré dans un fichier: C'est pas la bonne méthode.
[B][I][U]Voici les deux méthodes principales de ma classe Profile:[/U][/I][/B]
Toutefois, d'après la fonction [B]lireString()[/B], la chaine de caractères tapée par l'utilisateur est lue par le programme et grâce à la fonction [B]ecrireFichier[/B], la chaîne de caractère est découpée en caractères qui sont insérés dans un fichier tel l'exemple qui suit:
Chaine tapée par l'utilisateur "Bon".
Contenu du Fichier example.txt:
2011-07-01 10:07:09.648 B
2011-07-01 10:07:09.654 o
2011-07-01 10:07:09.655 n
Ma question:
Comment faire pour extraire [B]directement[/B] caractère par caractère la chaine de caractère tapée par l'utilisateur afin de lui affecté l'heure exacte a laquelle le caractère a été tapé par l'utilisateur?
Ce que j'ai fait c'est que j'ai récupéré la chaine puis je les découpé en caractère puis je les ai inséré dans un fichier: C'est pas la bonne méthode.
[B][I][U]Voici les deux méthodes principales de ma classe Profile:[/U][/I][/B]
public static String lireString() { String ligne_lue=null; try { InputStreamReader lecteur=new InputStreamReader(System.in); BufferedReader entree=new BufferedReader(lecteur); ligne_lue=entree.readLine(); } catch(IOException err) { System.exit(0); } return ligne_lue; } public static void ecrireFichier(String path, String text) { PrintWriter ecri ; try { ecri = new PrintWriter(new FileWriter(path)); char espace = ' '; for (int i=0; i<text.length(); i++) { char letter = text.charAt(i); java.util.Date date= new java.util.Date(); ecri.print(new Timestamp(date.getTime())); ecri.print(espace); ecri.println(letter); } ecri.flush(); ecri.close(); } catch (NullPointerException a) { System.out.println("Erreur : pointeur null"); } catch (IOException a) { System.out.println("Problème d'IO"); } }