2016-07-18 5 views
-3

근로자에 ​​대한 정보가 담긴 텍스트 파일을 작성해야합니다. 그런 다음 파일에서 읽고 사용자가 찾으려는 ID를 검색해야합니다. 예를 들어, 내 파일에 ID 1,2,3이 있고 ID 3을 찾고 일치하면이 작업자의 모든 정보가 콘솔에 기록됩니다. 그렇지 않으면 텍스트를 작성합니다. 작업자를 찾을 수 없습니다.C# 파일 아이디의 텍스트 파일과 ID를 비교하십시오.

using System; 
using System.IO; 
class Program 
{ 
    static void Main(string[] args) 
    { 
     string file = "C:\\Temp\\registery.txt"; 
     FileStream fOutStream = File.Open(file, FileMode.Append, FileAccess.Write); 
     StreamWriter sWriter = new StreamWriter(fOutStream); 
     int[] id = {  1, 2, 3  }; 
     string[] name = {  "John", "Carl", "Thomas"  }; 
     float[] salary = {  3500, 4800, 2100  }; 
     for (int i = 0; i < id.Length; i++) 
     { 
      sWriter.WriteLine(id[i] + " " + name[i] + " " + salary[i]); 
     } 
     sWriter.Flush(); 
     sWriter.Close(); 
     FileStream fInStream = File.OpenRead(file); 
     StreamReader sReader = new StreamReader(fInStream); 
     int id2; 
     Console.WriteLine("Type worker's id"); 
     id2 = int.Parse(Console.ReadLine()); 
     bool a; 
     a = sReader.ReadToEnd().Contains(id2); 
     Console.WriteLine(a); 
     sReader.Close(); 
    } 
} 
+4

를? 어디서 붙어 있니? 당신은 당신이하고 싶은 것을 썼지 만, 당신이 그것을하는 것을 멈추게하는 것이 아닙니다. – germi

+0

어떻게해야할지 모르겠다면 문제가됩니다. 몇 가지 아이디어가있었습니다. 한 아이디어는 ID 3을 검색하려고 할 때 작동하지 않았으며 급여 섹션에도 숫자가 포함되었습니다. – HateB

+0

코드에 최상의 아이디어를 추가했습니다. 지금 당장은 진실이거나 거짓으로 인쇄됩니다. – HateB

답변

0

나는 내 문제에 대한 해결책을 찾았으므로 충분했다. 최상의 솔루션이 아닐 수도 있습니다. 나는 부울 일을 제거하고 나는이 가진 모든 것을 대체 :

string line; 
    while ((line = sReader.ReadLine()) != null) 
    { 
     if (line.Contains("id: " + id2)) 
     { 
      Console.WriteLine(line); 
      break; 
     } 
     else if ((line = sReader.ReadLine()) == null) 
     { 
      Console.WriteLine("Worker not found with id " + id2); 

     } 
    } 

을 그리고 루프는 다음과 같이하는 나는 상단 고정 : 그래서

sWriter.WriteLine("id: " + id[i] + " name: " + name[i] + " salary: " + salary[i]); 
0

당신이 검색 할 수있는 텍스트 파일을 만들려면, 그래서 당신의 코드를 수정 쉼표/​​TAB 같은 구분으로 구분해야합니다

sWriter.WriteLine(id[i] + "," + name[i] + "," + salary[i]); 

ID로 텍스트 파일을 검색하려면 /name/..whatever 사용 AND/OR, 당신은 방법은 여기에 설명 사용할 수 있습니다

How would I convert data in a .txt file into xml? c#

BTW : 다시 요인 남동에서 파일을 생성하는 코드를 parate 메소드 및 다른 메소드에서의 검색.