[java]creation de fichier ...
Fermé
suber600
-
30 sept. 2002 à 14:38
choubaka Messages postés 39407 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 9 décembre 2024 - 30 sept. 2002 à 15:45
choubaka Messages postés 39407 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 9 décembre 2024 - 30 sept. 2002 à 15:45
A voir également:
- [java]creation de fichier ...
- Fichier rar - Guide
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
1 réponse
choubaka
Messages postés
39407
Date d'inscription
jeudi 4 avril 2002
Statut
Modérateur
Dernière intervention
9 décembre 2024
2 104
30 sept. 2002 à 15:45
30 sept. 2002 à 15:45
salut, je n'ai pas vu tout ton code, donc voici un élément de réponse concernant la structure de la classe, essaye de créer plus de petite méthode spécialisée, ce qui permet de mieux cerner le problème et celà permet de rendre le tout plus compréhensible pour quelqu'un d'autre ( et pis c'est plus POO). Dans ce cas, ci j'ai crée une méthode d'initiatialisation de ton fichier (il est peut être utilse de rajouter dans cette méthode un test pour voir si le fichier n'existe pas déjà). La deuxième méthode crée tes différent IOStreams. vu que tu utilise une méthode main, je te propose de faire appel à toutes les méthode dans le constructeur de la Classe.
import java.util.*;
import java.io.*;
import java.lang.String;
public class Fichier {
private File file;
private FileOutputStream fos;
private FileInputStream fis;
private DataOutputStream dos;
private DataInputStream dis;
private byte[] buffer = new byte[256];
private int nbBytes;
public static void main(String args[]) {
Fichier f = new Fichier();
}
public Fichier(){
initFile();
initStreams();
System.out.println("***Labo1 Ex2***\n");
System.out.println("Entrez des valeurs comprise entre 5 et 9 ( par pas de 0,5)");
try{
nbBytes=System.in.read(buffer);
while(nbBytes!=-1) {
fos.write(buffer,0,nbBytes);
}
}
catch (Exception e){}
/* marche mais ecrit le code ascii*/
/*int c;
while((c=System.in.read())!='\n') // on lit byte par byte
{
System.out.println("on a entré: "+c);
dos.write(c);
}
*/
/*
// arrêt informatique : somme d'entiers positifs lus au
// clavier, la dernière valeur est suivie de -1
int valeur, Somme=0 ;
valeur = System.in.readInt() ; // lecture donnée courante
while (valeur != -1) {
Somme += valeur ; // utilisation de la donnée courante
valeur = System.in.readInt() ; //lecture prochaine donnée
}
System.out.println("somme = "+Somme) ;
*/
/*
char tmp;
int entier;
double dou;
for(int i=0;i<10;i++)
{
tmp=System.in.read();
entier=(Ineger.valueOf(tmp).intValue();
dos.writeInt(entier);
}
*/
/*
int c;
try {
System.out.print("Saisie :");
c=System.in.read();
System.out.println(" c= "+c);
}
catch (IOException e) {
System.out.println("ERREUR:"+e.toString());
}
*/
/* nbBytes=System.in.read(buffer);
while (nbBytes!=-1)
{
fos.write(buffer,0,nbBytes);
}
System.out.println("ICI");
String valeur;
while((valeur=dis.readLine())!=null)
System.out.println(valeur);
//avec dos chaines de caracteres dans le fichier
while (nbBytes!=-1)
{
dos.write(buffer,0,nbBytes);
}
*/
/*
int cp=0;
while(System.in.read(buffer)!='\n') cp++;
System.out.println(cp);
//System.out.println(nbBytes);
// System.out.println(buffer);
// dos.writeByte(buffer);
for(int i=0;i<5;i++)
{
while(System.in.read()!='\n')
{
nbBytes=System.in.read(buffer);
fos.write(buffer);
}
}
int val=5;
if(val <5 || val>9) throw new ErreurNum(val);
//dos.writeBytes(buffer);
//------------------------------------------------------------
// byte buffer[] = new byte[80];
*/
try {
System.out.println("\nEntrez une ligne de caractères à sauver sur disque");
int bytes = System.in.read(buffer);
fos.write(buffer, 0, bytes);
}
catch (Exception e) {
String err = e.toString();
System.out.println(err);
}
//----------------------------------------
//Entrer les valeurs verifié si plus petit , faire stop pour finir
}
private void initFile(){
file = new File("cfichier.txt");
}
private void initStreams(){
try{
fos =new FileOutputStream(file);
fis =new FileInputStream(file);
dos= new DataOutputStream(fos);
dis= new DataInputStream(fis);
}
catch(FileNotFoundException e) {
System.out.println("Erreur ! fichier non trouvé ["+e+"]");
}
catch (IOException e) {
System.out.println("Erreur !["+e+"]");
}
}
}
Chouba :
"les Schtroumpfs sont mes amis parce qu'ils sont petits"
import java.util.*;
import java.io.*;
import java.lang.String;
public class Fichier {
private File file;
private FileOutputStream fos;
private FileInputStream fis;
private DataOutputStream dos;
private DataInputStream dis;
private byte[] buffer = new byte[256];
private int nbBytes;
public static void main(String args[]) {
Fichier f = new Fichier();
}
public Fichier(){
initFile();
initStreams();
System.out.println("***Labo1 Ex2***\n");
System.out.println("Entrez des valeurs comprise entre 5 et 9 ( par pas de 0,5)");
try{
nbBytes=System.in.read(buffer);
while(nbBytes!=-1) {
fos.write(buffer,0,nbBytes);
}
}
catch (Exception e){}
/* marche mais ecrit le code ascii*/
/*int c;
while((c=System.in.read())!='\n') // on lit byte par byte
{
System.out.println("on a entré: "+c);
dos.write(c);
}
*/
/*
// arrêt informatique : somme d'entiers positifs lus au
// clavier, la dernière valeur est suivie de -1
int valeur, Somme=0 ;
valeur = System.in.readInt() ; // lecture donnée courante
while (valeur != -1) {
Somme += valeur ; // utilisation de la donnée courante
valeur = System.in.readInt() ; //lecture prochaine donnée
}
System.out.println("somme = "+Somme) ;
*/
/*
char tmp;
int entier;
double dou;
for(int i=0;i<10;i++)
{
tmp=System.in.read();
entier=(Ineger.valueOf(tmp).intValue();
dos.writeInt(entier);
}
*/
/*
int c;
try {
System.out.print("Saisie :");
c=System.in.read();
System.out.println(" c= "+c);
}
catch (IOException e) {
System.out.println("ERREUR:"+e.toString());
}
*/
/* nbBytes=System.in.read(buffer);
while (nbBytes!=-1)
{
fos.write(buffer,0,nbBytes);
}
System.out.println("ICI");
String valeur;
while((valeur=dis.readLine())!=null)
System.out.println(valeur);
//avec dos chaines de caracteres dans le fichier
while (nbBytes!=-1)
{
dos.write(buffer,0,nbBytes);
}
*/
/*
int cp=0;
while(System.in.read(buffer)!='\n') cp++;
System.out.println(cp);
//System.out.println(nbBytes);
// System.out.println(buffer);
// dos.writeByte(buffer);
for(int i=0;i<5;i++)
{
while(System.in.read()!='\n')
{
nbBytes=System.in.read(buffer);
fos.write(buffer);
}
}
int val=5;
if(val <5 || val>9) throw new ErreurNum(val);
//dos.writeBytes(buffer);
//------------------------------------------------------------
// byte buffer[] = new byte[80];
*/
try {
System.out.println("\nEntrez une ligne de caractères à sauver sur disque");
int bytes = System.in.read(buffer);
fos.write(buffer, 0, bytes);
}
catch (Exception e) {
String err = e.toString();
System.out.println(err);
}
//----------------------------------------
//Entrer les valeurs verifié si plus petit , faire stop pour finir
}
private void initFile(){
file = new File("cfichier.txt");
}
private void initStreams(){
try{
fos =new FileOutputStream(file);
fis =new FileInputStream(file);
dos= new DataOutputStream(fos);
dis= new DataInputStream(fis);
}
catch(FileNotFoundException e) {
System.out.println("Erreur ! fichier non trouvé ["+e+"]");
}
catch (IOException e) {
System.out.println("Erreur !["+e+"]");
}
}
}
Chouba :
"les Schtroumpfs sont mes amis parce qu'ils sont petits"