mano23
-
9 janv. 2013 à 04:18
Whismeril
Messages postés19025Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention19 avril 2024
-
11 janv. 2013 à 15:15
Bonjour,
Je voudrai insérer un couple de nombres séparés par une virgules dans un fichier puis afficher le contenu du fichier dans un label. La saisie se fait via un textbox. J'ai comme erreur "Impossible de rediriger l'entrée ou la sortie, car le fichier spécifié n'est pas valide" Voici mon code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.IO;
namespace Exo4
{
/// <summary>
/// Logique d'interaction pour MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void boutonEnvoyer_Click(object sender, RoutedEventArgs e)
{
string separateur = "[,]";
string fichier = @"C:\data.txt";
// Pour convertir la ligne saisie en segments et en utilisant la virgule comme séparateur
string[] ligne = textBoxCouple.Text.Split(new string[1] { separateur }, StringSplitOptions.None);
// Création d'une instance de StreamWriter pour permettre l'écriture de notre fichier
StreamWriter sw = new StreamWriter(fichier);
// Ecriture
foreach (string l in ligne)
sw.WriteLine(l);
// Fermeture du StreamReader (attention très important)
sw.Close();
// Lecture de toutes les lignes et affichage de chacune sur la page
StringBuilder sb = new StringBuilder();
StreamReader sr = new StreamReader(fichier);
string s = sr.ReadLine();
while (s != null)
{
sb.AppendLine(s);
s = sr.ReadLine();
}
labelAffichage.Content = sb.ToString();
//Console.ReadLine();
}
}
}
cs_jopop
Messages postés1540Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention 1 août 201312 9 janv. 2013 à 15:32
Ben comme dit précédemment ton code fonctionne chez moi (juste modifié le chemin du fichier, et labelAffichage.Content en label.Text, Content n'étant pas un attribut valide du contrôle Label).
Fais suivre l'erreur exacte, avec son code, son descriptif et la ligne sur laquelle elle apparaît. On pourra peut-être trouver le problème -et donc sa solution- comme ça. Et au cas où, dis nous aussi quelle version du framework .NET tu utilises.
cs_jopop
Messages postés1540Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention 1 août 201312 9 janv. 2013 à 09:45
Salut,
suivant ton SE tu n'as pas le droit d'écrire directement à la racine de ta partition système. Essaie donc déjà de lancer ton programme avec "C:\folder\data.txt" pour voir si ça vient pas de là (en tout cas ton code fonctionne chez moi une fois cette modif faite).