public void PrepareTextData(string[] linesOfText) { RawLineOfText[] rawLinesOfText = new RawLineOfText[linesOfText.Length]; int numberOfBlankLines = 0; //Store lines of text in array and mark any blank or junk lines for (int i = 0; i < linesOfText.Length; i++) { rawLinesOfText[i].text = linesOfText[i]; rawLinesOfText[i].isData = true; //Add the text into a char array for checking char[] charArr = rawLinesOfText[i].text.ToCharArray(); //Check if line is blank if (charArr.Length <= 0) { rawLinesOfText[i].isData = false; } //Check if line is a comment if (charArr.Length >= 2) { if (charArr[0] == AsciiTable.ForwardSlash && charArr[1] == AsciiTable.ForwardSlash) { //Line is a comment. rawLinesOfText[i].isData = false; } } //Check if line is full of spaces foreach (char ch in charArr) { if (ch != AsciiTable.Space) { break; } rawLinesOfText[i].isData = false; } //The line doesn't have data so ignore if (rawLinesOfText[i].isData == false) { numberOfBlankLines++; } } string[] linesOfData = new string[rawLinesOfText.Length - numberOfBlankLines]; int x = 0; foreach (RawLineOfText line in rawLinesOfText) { if (line.isData) { linesOfData[x] = string.Copy(line.text); x++; } } ProcessData(linesOfData); }
public void LoadDataFromLocalTextFile(string _filePath) { filePath = Application.dataPath + _filePath; #region Loading the Text file and formatting it StreamReader reader = new StreamReader(filePath); int numberOfLinesInTextFile = 0; while (!reader.EndOfStream) { numberOfLinesInTextFile++; reader.ReadLine(); } reader.Close(); reader = new StreamReader(filePath); RawLineOfText[] rawLinesOfText = new RawLineOfText[numberOfLinesInTextFile]; int numberOfBlankLines = 0; //Store lines of text in array and mark any blank or junk lines for (int i = 0; i < numberOfLinesInTextFile; i++) { rawLinesOfText[i].text = reader.ReadLine().ToString(); rawLinesOfText[i].isData = true; //Add the text into a char array for checking char[] charArr = rawLinesOfText[i].text.ToCharArray(); //Check if line is blank if (charArr.Length <= 0) { rawLinesOfText[i].isData = false; } //Check if line is a comment if (charArr.Length >= 2) { if (charArr[0] == AsciiTable.ForwardSlash && charArr[1] == AsciiTable.ForwardSlash) { //Line is a comment. rawLinesOfText[i].isData = false; } } //Check if line is full of spaces foreach (char ch in charArr) { if (ch != AsciiTable.Space) { break; } rawLinesOfText[i].isData = false; } //The line doesn't have data so ignore if (rawLinesOfText[i].isData == false) { numberOfBlankLines++; } } reader.Close(); string[] linesOfData = new string[rawLinesOfText.Length - numberOfBlankLines]; int x = 0; foreach (RawLineOfText line in rawLinesOfText) { if (line.isData) { linesOfData[x] = string.Copy(line.text); x++; } } #endregion ProcessData(linesOfData); }