Считывание из файла: в результате вместо единицы выводится ее 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]));
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д