Rechercher : dans
Par :

[java]creation de fichier ...

Dernière réponse le 30 sep 2002 à 15:45:42 suber600, le 30 sep 2002 à 14:38:44 
 Signaler ce message aux modérateurs

Voila je dois creer un fichier composé d entier et de double. le fichier ne doit pas etre lisible par un editeur de texte comment dois je faire ?

je vous met out ce que j ai essayé ...si qq1 pouvais m aider

import java.util.*;
import java.io.*;
import java.lang.String;



public class fichier
{


public static void main(String args[])
{
try
{
byte[] buffer=new byte[256];
int nbBytes;

FileOutputStream fos =new FileOutputStream("cfichier.txt");
FileInputStream fis =new FileInputStream("cfichier.txt");
DataOutputStream dos= new DataOutputStream(fos);


DataInputStream dis= new DataInputStream(new FileInputStream("cfichier.txt"));

/* System.out.println("***Labo1 Ex2***\n");
System.out.println("Entrez des valeurs comprise entre 5 et 9 ( par pas de 0,5)");


nbBytes=System.in.read(buffer);
while(nbBytes!=-1)
{
fos.write(buffer,0,nbBytes);

}


*/

/* 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);
FileOutputStream fileOut = new FileOutputStream("cfichier.txt");
fileOut.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

}
catch(FileNotFoundException e)
{
System.out.println("Erreur ! fichier non trouvé ["+e+"]");
}
catch (IOException e)
{
System.out.println("Erreur !["+e+"]");
}
}
}



attention c est tjs pour faire la meme chose ....


voila mon mail et mon msn : suber600@hotmail.com

Meilleures réponses pour « [java]creation de fichier ... » dans :
Créer un fichier Autorun.inf VoirCréation de fichier autorun Autoriser l'exécution automatique Création du fichier autorun.inf Personnaliser l'icône Personnaliser le texte Personnaliser le menu Autoriser l'exécution automatique Une fonctionnalité de Windows...
[Shell] Créer un fichier vide VoirPour créer un fichier vide, il vous suffit de taper la commande suivante : > fichier Vous pouvez également utiliser la commande touch : touch fichier
Java - Premier programme VoirPremière application avec Java La première chose à faire est de créer un simple fichier texte (sans mise en forme) et de taper les quelques lignes suivantes : // Votre premiere application en Java class FirstApp { public static void main...

1

 choubaka, le 30 sep 2002 à 15:45:42
  • +1

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"

Répondre à choubaka
Collection CommentÇaMarche.net