Lire un fichier caractère par caractére
Résolu
katio
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
vlar Messages postés 2289 Date d'inscription Statut Membre Dernière intervention -
vlar Messages postés 2289 Date d'inscription Statut Membre Dernière intervention -
Bonjour tous,
je voulais lire un fichier de type texte et récupérer caractère par caractère et le stocker dans un vecteur
encore en détail:
mon fichier contient des séquence de 'P' et 'F' exemple: PPPPPPPPPPP FFFFFFPPPP PFPFPFFF...ect
mon but et de récupérer chaque séquence (PPPPPPPPPPP) dans un vecteur [P,P,P,P,P,P,P,P,P,P,P]
j'ai pensé a créer un vecteur de vecteur et chaque vecteur va récupérée une séquence. mais je n'arrive pas!!!!
je vous remercie a l'avance
voila mon essais:
import java.io.*;
import java.util.*;
public class Lecture{
public static void main(String[] args) {
String chaine = null;
Vector v=new Vector();
// lecture du fichier texte
try {
InputStream ips = new FileInputStream("fichier.txt");
InputStreamReader ipsr = new InputStreamReader(ips);
BufferedReader br = new BufferedReader(ipsr);
String ligne;
while ((ligne = br.readLine()) != null) {
v.addElement(ligne);
System.out.println(v);
//chaine += ligne + "\r";
}
br.close();
} catch (Exception e) {
System.out.println(e.toString());
}
}
}
je voulais lire un fichier de type texte et récupérer caractère par caractère et le stocker dans un vecteur
encore en détail:
mon fichier contient des séquence de 'P' et 'F' exemple: PPPPPPPPPPP FFFFFFPPPP PFPFPFFF...ect
mon but et de récupérer chaque séquence (PPPPPPPPPPP) dans un vecteur [P,P,P,P,P,P,P,P,P,P,P]
j'ai pensé a créer un vecteur de vecteur et chaque vecteur va récupérée une séquence. mais je n'arrive pas!!!!
je vous remercie a l'avance
voila mon essais:
import java.io.*;
import java.util.*;
public class Lecture{
public static void main(String[] args) {
String chaine = null;
Vector v=new Vector();
// lecture du fichier texte
try {
InputStream ips = new FileInputStream("fichier.txt");
InputStreamReader ipsr = new InputStreamReader(ips);
BufferedReader br = new BufferedReader(ipsr);
String ligne;
while ((ligne = br.readLine()) != null) {
v.addElement(ligne);
System.out.println(v);
//chaine += ligne + "\r";
}
br.close();
} catch (Exception e) {
System.out.println(e.toString());
}
}
}
A voir également:
- Lire un fichier caractère par caractére
- Caractère ascii - Guide
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Caractère spéciaux - Guide
- Lire un fichier epub - Guide
- Caractere speciaux - Guide
8 réponses
Vector<String> remplirVecteur(String fichier) throws IOException{
Vector<String> vecteur = new Vector <String>();
String str ="";
FileReader fichieralire;
fichieralire = new FileReader(fichier);
int c=0;
while((c = fichieralire.read()) != -1){
switch(c){
case '"': break;
case ';': vecteur.add(str); str ="";break;
default : str += (char) c;
}
}
fichieralire.close();
return vecteur;
}
Vector<String> vecteur = new Vector <String>();
String str ="";
FileReader fichieralire;
fichieralire = new FileReader(fichier);
int c=0;
while((c = fichieralire.read()) != -1){
switch(c){
case '"': break;
case ';': vecteur.add(str); str ="";break;
default : str += (char) c;
}
}
fichieralire.close();
return vecteur;
}
merci agha pour votre réponse mais vraiment je n'arrive pas a intégrer votre code!!!
bon j'ai fait ça:
import java.util.*;
import java.io.*;
public class testefichier{
static Vector<String> vecteur = new Vector <String>();
public static void main(String[] args){
String fichier ="fichier.txt";
vecteur= remplirVecteur(fichier);
}
static Vector<String> remplirVecteur(String fichier) throws IOException{
Vector<String> vecteur = new Vector <String>();
String str ="";
FileReader fichieralire;
fichieralire = new FileReader(fichier);
int c=0;
while((c = fichieralire.read()) != -1){
switch(c){
case '"': break;
case ';': vecteur.add(str); str ="";break;
default : str += (char) c;
}
}
fichieralire.close();
return vecteur;
}
}
et il m'affiche ça comme erreur de compilation:
testefichier.java:11: unreported exception java.io.IOException; must be caught or declared to be thrown
vecteur= remplirVecteur(fichier);
^
1 error
merci bien
bon j'ai fait ça:
import java.util.*;
import java.io.*;
public class testefichier{
static Vector<String> vecteur = new Vector <String>();
public static void main(String[] args){
String fichier ="fichier.txt";
vecteur= remplirVecteur(fichier);
}
static Vector<String> remplirVecteur(String fichier) throws IOException{
Vector<String> vecteur = new Vector <String>();
String str ="";
FileReader fichieralire;
fichieralire = new FileReader(fichier);
int c=0;
while((c = fichieralire.read()) != -1){
switch(c){
case '"': break;
case ';': vecteur.add(str); str ="";break;
default : str += (char) c;
}
}
fichieralire.close();
return vecteur;
}
}
et il m'affiche ça comme erreur de compilation:
testefichier.java:11: unreported exception java.io.IOException; must be caught or declared to be thrown
vecteur= remplirVecteur(fichier);
^
1 error
merci bien
c'est il marche comme mais se que je veux est:
soit mon fichier.txt contient des séquences séparer par un blanc :
P P P F F F F ; P P P P P P P P F F F ; P P P F F F ; F F F ; P P P P ...ect
je veux que un vecteur récupère qu'une seul séquence: vecteur1--->récupère P P P F F F F; vecteur2---->récupère P P P P P P P P F F F ...ect ; j'aimerai bien que vous me donnez une aidé comment je vais résoudre ce problème merci bien
ce code récupère le contenu du fichier dans un seul vecteur
import java.util.*;
import java.io.*;
public class testefichier{
static Vector<String> vecteur = new Vector<String>();
public static void main(String[] args){
String fichier ="fichier.txt";
try {
InputStream ips = new FileInputStream(fichier);
//InputStreamReader ipsr = new InputStreamReader(ips);
//BufferedReader br = new BufferedReader(ipsr);
//String ligne;
vecteur= remplirVecteur(fichier);
System.out.println(vecteur);
} catch (Exception e) {
System.out.println(e.toString());
}
}
static Vector<String> remplirVecteur(String fichier) throws IOException{
Vector<String> vecteur = new Vector <String>();
String str ="";
FileReader fichieralire;
fichieralire = new FileReader(fichier);
int c=0;
while((c = fichieralire.read()) != -1){
switch(c){
case '"': break;
case ',': vecteur.add(str); str ="";break;
default : str += (char) c;
}
}
fichieralire.close();
return vecteur;
}
}
soit mon fichier.txt contient des séquences séparer par un blanc :
P P P F F F F ; P P P P P P P P F F F ; P P P F F F ; F F F ; P P P P ...ect
je veux que un vecteur récupère qu'une seul séquence: vecteur1--->récupère P P P F F F F; vecteur2---->récupère P P P P P P P P F F F ...ect ; j'aimerai bien que vous me donnez une aidé comment je vais résoudre ce problème merci bien
ce code récupère le contenu du fichier dans un seul vecteur
import java.util.*;
import java.io.*;
public class testefichier{
static Vector<String> vecteur = new Vector<String>();
public static void main(String[] args){
String fichier ="fichier.txt";
try {
InputStream ips = new FileInputStream(fichier);
//InputStreamReader ipsr = new InputStreamReader(ips);
//BufferedReader br = new BufferedReader(ipsr);
//String ligne;
vecteur= remplirVecteur(fichier);
System.out.println(vecteur);
} catch (Exception e) {
System.out.println(e.toString());
}
}
static Vector<String> remplirVecteur(String fichier) throws IOException{
Vector<String> vecteur = new Vector <String>();
String str ="";
FileReader fichieralire;
fichieralire = new FileReader(fichier);
int c=0;
while((c = fichieralire.read()) != -1){
switch(c){
case '"': break;
case ',': vecteur.add(str); str ="";break;
default : str += (char) c;
}
}
fichieralire.close();
return vecteur;
}
}
import java.io.FileReader;
import java.io.IOException;
import java.util.Vector;
public class Vecteur{
public static void main(String[] args) throws IOException {
Vector<String> vecteur = new Vector <String>();
String str ="";
FileReader fichieralire;
fichieralire = new FileReader("fichier.txt");
int c=0;
while((c = fichieralire.read()) != -1){
switch(c){
case '"': break;
case ';': vecteur.add(str); str ="";break;
default : str += (char) c;
}
}
// afficher les element dans le vecteur
for(int i = 0 ;i<vecteur.size();i++){
System.out.println(vecteur.get(i));
}
}
}
chez moi il fonctionne bien
Affichage
P P P F F F F // v[1]
P P P P P P P P F F F // v[2]
P P P F F F // v[3]
F F F // v[4]
Maintenant tu peux mettre chaque element dans un vecteur si tu veux
Main maintenant il est dans un seul vecteur
import java.io.IOException;
import java.util.Vector;
public class Vecteur{
public static void main(String[] args) throws IOException {
Vector<String> vecteur = new Vector <String>();
String str ="";
FileReader fichieralire;
fichieralire = new FileReader("fichier.txt");
int c=0;
while((c = fichieralire.read()) != -1){
switch(c){
case '"': break;
case ';': vecteur.add(str); str ="";break;
default : str += (char) c;
}
}
// afficher les element dans le vecteur
for(int i = 0 ;i<vecteur.size();i++){
System.out.println(vecteur.get(i));
}
}
}
chez moi il fonctionne bien
Affichage
P P P F F F F // v[1]
P P P P P P P P F F F // v[2]
P P P F F F // v[3]
F F F // v[4]
Maintenant tu peux mettre chaque element dans un vecteur si tu veux
Main maintenant il est dans un seul vecteur
merci bien agha, je vais vous expliquer un peu plus en détail
mon fichier.txt va contenir ça: P P P P ;P P P F P F F F;P P P F F F F F F;P P P F F F....c'est des séquences de pile ou face
bon mon premier vecteur doit contenir ça: P P P P , donc la première séquence mais séparément c'est à dire que j'aurais 4 éléments dans mon premier vecteur [P,P,P,P]
donc j'aurais quelque chose qui ressemble à ça a l'exécution:
[P,P,P,P] // vecteur1
[P,P,P,F,P,F,F,F]//vecteur2
[P,P,P,F,F,F,F,F,F]//vecteur3
[P,P,P,F,F,F] //vecteur4
donc j'ai pensé a faire un vecteur de vecteurs mais je sais le manipuler
merci bien agha;
mon fichier.txt va contenir ça: P P P P ;P P P F P F F F;P P P F F F F F F;P P P F F F....c'est des séquences de pile ou face
bon mon premier vecteur doit contenir ça: P P P P , donc la première séquence mais séparément c'est à dire que j'aurais 4 éléments dans mon premier vecteur [P,P,P,P]
donc j'aurais quelque chose qui ressemble à ça a l'exécution:
[P,P,P,P] // vecteur1
[P,P,P,F,P,F,F,F]//vecteur2
[P,P,P,F,F,F,F,F,F]//vecteur3
[P,P,P,F,F,F] //vecteur4
donc j'ai pensé a faire un vecteur de vecteurs mais je sais le manipuler
merci bien agha;
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Un String c'est un Vector<char>
T'as pas besoin de faire un autre vecteur encore pour les stoker
tu peux parcourir caractere par caractere un string
String b = "agah";
for (int i = 0; i< b.length(); i++)
System.out.println(b.charAt(i));
Sortie
a
g
a
h
T'as pas besoin de faire un autre vecteur encore pour les stoker
tu peux parcourir caractere par caractere un string
String b = "agah";
for (int i = 0; i< b.length(); i++)
System.out.println(b.charAt(i));
Sortie
a
g
a
h
Tu veux enlever des espaces
Import java.io.FileReader;
import java.io.IOException;
import java.util.Vector;
public class Vecteur{
public static void main(String[] args) throws IOException {
Vector<String> vecteur = new Vector <String>();
String str ="";
FileReader fichieralire;
fichieralire = new FileReader("fichier.txt");
int c=0;
while((c = fichieralire.read()) != -1){
switch(c){
// enleve l'espace si tu veux pas des espace
case ' ' : break;
case ';': vecteur.add(str); str ="";break;
default : str += (char) c;
}
}
// afficher les element dans le vecteur
for(int i = 0 ;i<vecteur.size();i++){
System.out.println(vecteur.get(i));
}
}
}
Import java.io.FileReader;
import java.io.IOException;
import java.util.Vector;
public class Vecteur{
public static void main(String[] args) throws IOException {
Vector<String> vecteur = new Vector <String>();
String str ="";
FileReader fichieralire;
fichieralire = new FileReader("fichier.txt");
int c=0;
while((c = fichieralire.read()) != -1){
switch(c){
// enleve l'espace si tu veux pas des espace
case ' ' : break;
case ';': vecteur.add(str); str ="";break;
default : str += (char) c;
}
}
// afficher les element dans le vecteur
for(int i = 0 ;i<vecteur.size();i++){
System.out.println(vecteur.get(i));
}
}
}
meci bien agah c'est bon j'ai pu réaliser se que je veux
Vector v[]=new Vector[vecteur.size()];
String b[]=new String[vecteur.size()];
for(int i=0;i<vecteur.size();i++){
v[i] = new Vector<String>();
b[i]=vecteur.get(i);
System.out.println(b[i]);
for(int j=0;j<b[i].length();j++){
v[i].add(b[i].charAt(j));
}
System.out.print(v[i]);
}
et j'ai se résultat:
[P,P,P,P] // vecteur1
[P,P,P,F,P,F,F,F]//vecteur2
[P,P,P,F,F,F,F,F,F]//vecteur3
[P,P,P,F,F,F] //vecteur4
merci beaucoup pour votre aide.
je te remerci ag votre code est utile merci
Vector v[]=new Vector[vecteur.size()];
String b[]=new String[vecteur.size()];
for(int i=0;i<vecteur.size();i++){
v[i] = new Vector<String>();
b[i]=vecteur.get(i);
System.out.println(b[i]);
for(int j=0;j<b[i].length();j++){
v[i].add(b[i].charAt(j));
}
System.out.print(v[i]);
}
et j'ai se résultat:
[P,P,P,P] // vecteur1
[P,P,P,F,P,F,F,F]//vecteur2
[P,P,P,F,F,F,F,F,F]//vecteur3
[P,P,P,F,F,F] //vecteur4
merci beaucoup pour votre aide.
je te remerci ag votre code est utile merci