Lecture/Ecriture dans un fichier
Hello,
je développe actuellement une appli de config d'un fichier .cfg
Pour lire les données dans le fichier, j'utilise un StreamReader :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| String^ o_ligne = "";
StreamReader^ o_streamFichier;
ArrayList^ o_fichierLigneParLigne = gcnew ArrayList();
OpenFileDialog^ openFileDialog1 = gcnew OpenFileDialog;
if ( openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK )
{
if ((openFileDialog1->OpenFile()) != nullptr )
{
o_streamFichier = gcnew StreamReader(openFileDialog1->FileName);
// traitement des données...
o_streamFichier->DiscardBufferedData();
o_streamFichier->Close();
delete o_streamFichier;
}
} |
ensuite, l'utilisateur peut faire des modifs via l'interface proposé et sauvegarde le tout dans le même fichier .cfg
J'utilise un StreamWriter pour écrire les données dans le fichier :
Code:
1 2 3 4 5 6 7 8 9 10
| String^ o_ligne = "";
StreamWriter^ o_streamFichier;
SaveFileDialog^ saveFileDialog1 = gcnew SaveFileDialog;
if ( saveFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK )
{
o_streamFichier = gcnew StreamWriter(saveFileDialog1->FileName, false);
// traitement des données
o_streamFichier->Close();
delete o_streamFichier;
} |
Malheureusement, cela ne fonctionne pas.
J'ai l'exception
Citation:
The process cannot access the file 'D:\PROJET\config.cfg' because it is being used by another process.
au niveau de
Code:
o_streamFichier = gcnew StreamWriter(saveFileDialog1->FileName, false);
J'ai essayé de mettre o_streamFichier->Dispose, mais j'ai une erreur de compilation m'indiquant que Dispose ne fait pas parti de la classe "StreamReader".
Quelqu'un aurait une idée pour résoudre ce problème ?
Merci.