uzu
Messages postés75Date d'inscriptionvendredi 6 avril 2007StatutMembreDernière intervention19 février 2009
-
8 avril 2007 à 19:45
cs_coq
Messages postés6350Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014
-
26 avril 2007 à 19:06
bonjour
je travaille en C#, j'ai un classe Armure où j'ai déclarer un constructeur avec paramètre d'entrée le nom du fichier:
// Constructeur armure avec paramètre d'entrée nom du fichier
public UneArm(string acces)
{
filename = acces;
FileStream fs = new FileStream (filename, FileMode.Open, FileAccess.Read);
BinaryReader r = new BinaryReader (fs);
// Lecture du nombre de duites
fs.Seek (-2L, SeekOrigin.End);
et j'ai déclaré aussi une fonction pour sauvegarder ce fichier qu'on a ouvert :
public void SauveDsFichier()
{
d1 = new UneDuite();
//Ouverture d'un flux de sortie vers le fichier 'filename'
FileStream fs = new FileStream (filename,FileMode.Truncate, FileAccess.Write);
BinaryWriter w = new BinaryWriter(fs);
quelq'un peut me dire si le code est juste ou non?
merci
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 10 avril 2007 à 11:59
voici ce que le code contenait:
using System;
using System.IO;
using System.Xml;
///<summary>
/// Creates a new instance of the FileTools class.
///</summary>
class
FileTools
{
#region Constructor
public FileTools()
{
}
#endregion#region
Reading a file
///<summary>
/// Retourne le contenu d'un fichier sous forme de chaine de caracteres
///</summary>
///Chemin du fichier à lire
///<returns>Contenu du fichier sous forme de chaine de caracteres</returns>
public
string Lire(
string chemin_fichier)
{
string Chaine =
null;
string line =
null;
FileStream monFlux =
new
FileStream(chemin_fichier,
FileMode.OpenOrCreate);
StreamReader monLecteur =
new
StreamReader(monFlux);
while ((line = monLecteur.ReadLine()) !=
null)
{
Chaine += line;
//La chaine "\r\n" créé un retour à la ligne
Chaine +=
"\r\n";
}
monLecteur.Close();
monFlux.Close();
return Chaine;
}
#endregion#region
Writing a file
///<summary>
/// Ecrit le contenu d'une chaine de caracteres dans un fichier
///</summary>
///Chemin du fichier de destination
///Chaine de caracteres a ecrire dans le fichier
public
void Ecrire(
string chemin_fichier,
string Chaine)
{
//Ici, suppression d'un fichier de même nom
//(Ceci evite la levée de l'exception "File already exist")
if (
File.Exists(chemin_fichier))
File.Delete(chemin_fichier);
FileStream monFlux =
new
FileStream(chemin_fichier,
FileMode.OpenOrCreate);
StreamWriter monScribe =
new
StreamWriter(monFlux);
monScribe.Write(Chaine);
monScribe.Close();
monFlux.Close();
}
uzu
Messages postés75Date d'inscriptionvendredi 6 avril 2007StatutMembreDernière intervention19 février 20091 26 avril 2007 à 07:41
bonjour
non filename n'est pas null,
car c'est le nom du fichier que je récupère de mon constructeur avec paramètre le nom de ce fichier et qui est en lecture, voici mon code:
public UneArm(
string acces){
filename = acces;
FileStream fs =
new
FileStream (filename,
FileMode.Open,
FileAccess.Read);
BinaryReader r =
new
BinaryReader (fs);
et la ligne d'erreur :FileStream fs = newFileStream (filename,FileMode.OpenOrCreate);
donc je ne vois pas pourquoi il ne reconnait le chemin d'accès.
cs_coq
Messages postés6350Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 26 avril 2007 à 19:06
Bizarre, normalement il n'y a pas de levée d'exception ArgumentNullException en dehors du cas cité.
Quelle est la pile des appels donnée par cette exception ?