Считывание из файла: в результате вместо единицы выводится ее ASCII код - C#
Формулировка задачи:
Считываю из файла, но в результате вместо 1 вижу ее ASCII код. В файле вектора из -1, 0, 1. Помогите, пожалуйста, сижу уже 2 день над этим(((
private void GetVectors()
{
int dx = (int)Math.Round((double)(Corner2.X - Corner1.X) / 10);
int dy = (int)Math.Round((double)(Corner2.Y - Corner1.Y) / 10);
for (int i = Corner1.X; i <= Corner2.X; i += dx)
{
graphics.DrawLine(pen1, new Point(i, Corner1.Y), new Point(i, Corner2.Y));
}
for (int i = Corner1.Y; i <= Corner2.Y; i += dy)
{
graphics.DrawLine(pen1, new Point(Corner1.X, i), new Point(Corner2.X, i));
}
try
{
StreamWriter sw = new StreamWriter("vectors.txt", true, Encoding.Default);
int countOfRectangles = 10;
for (int i = 0; i < countOfRectangles; i++)
{
for (int j = 0; j < countOfRectangles; j++)
{
bool isShadedPixel = false;
for (int n = Corner1.Y + i * dy; n < Corner1.Y + (i + 1) * dy; n++)
{
for (int m = Corner1.X + j * dx; m < Corner1.X + (j + 1) * dx; m++)
{
if (bitmap.GetPixel(m, n) == Color.FromArgb(255, 255, 0, 0))
{
isShadedPixel = true;
}
if (isShadedPixel) break;
}
}
if (isShadedPixel)
{
sw.Write("1");
//input.Add(1);
}
else
{
sw.Write("0");
//input.Add(0);
}
}
//sw.WriteLine();
}
if (radioButton1.Checked)
{
sw.Write("\n1\n");
//mainInput.Add(1);
}
else if (radioButton2.Checked)
{
sw.Write("\n-1\n");
//mainInput.Add(-1);
}
sw.WriteLine();
sw.Close();
}
catch (Exception e)
{
Console.WriteLine("Exception: " + e.Message);
}
finally
{
Console.WriteLine("Executing finally block.");
}
}
public void ReadFromFile()
{
//StringReader sr = new StringReader("vectors.txt");
//FileStream f = new FileStream(
try
{
string[] lines = System.IO.File.ReadAllLines("vectors.txt", Encoding.Default);//.Split(' ').Select(n => int.Parse(n)).ToArray();
foreach (string str in lines)
{
for (int i = 0; i < str.Length; i++)
{
if ((i > 99) && (Math.IEEERemainder(i, 100) == 0)) mainInput.Add(str[i]);
else input.Add(str[i]);
}
}
using (StreamWriter sw = new StreamWriter("vectors.txt", true))
{
for (int j = 0; j < input.Count; j++)
{
sw.Write(input.ElementAt(j));
}
sw.WriteLine();
}
}
catch (FileNotFoundException e)
{
MessageBox.Show("Check the directory of file on existing" + e.Message);
}
finally
{
Console.WriteLine("Executing finally block.");
}
}Решение задачи: «Считывание из файла: в результате вместо единицы выводится ее ASCII код»
textual
Листинг программы
input = new List<int>();
using (StreamReader sr = new StreamReader("vectors.txt"))
{
string text = sr.ReadToEnd();
string[] splitted = text.Split(" \n\r\t".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
for (int i = 0; i < splitted.Length; i++)
{
input.Add(int.Parse(splitted[i]));
}
}