Błędny zapis do pliku.

0

Witam,

mój program ma wczytywać z pierwszego pliku liczby, które ustawione są tak:
1 2 3 4 5 6 7

i zapisywać je do pliku drugiego.

Jednak gdy w pliku 1 mam np. tylko 1 to w pliku drugim pojawia sie liczba 49 zamiast 1.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            StreamReader sr;
            StreamWriter sr2,sr3;

            string wartosc1;

            int liczba;

            sr = new StreamReader("liczby.txt");
            sr2 = new StreamWriter("parzyste.txt");
            sr3 = new StreamWriter("nieparzyste.txt");

            while (sr.EndOfStream == false)
            {

                liczba = sr.Read();
                //liczba = int.Parse(wartosc1);
                sr2.Write(liczba);
                /*if (liczba % 2 == 0)
                {
                    sr2.Write(liczba);
                }
                else
                {
                    sr3.Write(liczba);
                }*/
            }
            sr.Close();
            sr2.Close();
            sr3.Close();

        }
    }
}
 
0

Zapis jest poprawny, odczyt jest zły.
metoda Read() wczytuje ci jeden znak, kod ASCII znaku '1' to 49

0

to jaka ma być metoda?
a jest jakaś metoda, która tak mi to ładnie wczyta, czy trzeba to jakoś inaczej wykombinować?

0
StreamReader.ReadLine()
String.Split()
int.Parse()

1 użytkowników online, w tym zalogowanych: 0, gości: 1