2012-09-24 2 views
-2

У меня есть текстовый файл с IP-адреса, как содержание этогоКак разбить строку (IP ADDRESS) в TEXTFILE?

10.1.11.88 
10.1.11.52 
10.1.11.35 
10.1.11.95 
10.1.11.127 
10.1.11.91 

том, как SPLIT IP-адрес из файла?

+5

'File.ReadLines' недостаточно? –

+1

Непонятно, из вашего вопроса, что вы после. Вам нужна помощь в чтении строк из файла или разделении компонентов самого IP-адреса? –

ответ

6
var ips = File.ReadLines("path") 
      .Select(line => IPAddress.Parse(line)) 
      .ToList(); 

вы можете использовать ips[i].GetAddressBytes() разделить адрес.

1
var ipAddresses = File.ReadAllLines(@"C:\path.txt"); 

Это создаст массив с отдельной строкой для каждой строки вашего текстового файла.

+0

Я хочу разделить ip и использовать в другой функции. –

+0

Это дает строковый массив. ipAddresses [1] - ваш первый адрес и т. д. –

+0

@MeysamSavameri: Пожалуйста, будьте более конкретными. Когда вы говорите «сплит IP», я понимаю, что нужно иметь массив, в котором каждый IP-адрес находится в отдельной строке. Если это не то, что вы хотите, как насчет того, чтобы предоставить пример вывода, который вы ожидаете от тестового текстового файла? – StriplingWarrior

1

Если вы хотите разделить отдельный IP-адрес на четыре (4) компонента, используйте string.Split(char[]), который даст вам string[], содержащий каждую порцию.

Например:

string[] addressSplit = "10.1.11.88".Split('.'); 
// gives { "10", "1", "11", "88" } 
0

Это должно работать для вас. Вот рыба:

using System; 
using System.IO; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 

      System.IO.StreamReader myFileStream; 
      string strFileLine; 
      String[] arrAddressString; 


      myFileStream = new System.IO.StreamReader("c:\\myTextFile.txt"); 
      // where "c:\\myTextFile.txt" is the file path and file name. 

      while ((strFileLine = myFileStream.ReadLine()) != null) 
      { 

       arrAddressString = strFileLine.Split('.'); 

      /* 
       Now we have a 0-based string arracy 
       p.q.r.s: such that arrAddressString[0] = p, arrAddressString[1] = q, 
       arrAddressString[2] = r, arrAddressString[3] = s 
      */ 

      /* here you do whatever you want with the values in the array. */ 

       // Here, i'm just outputting the elements... 

       for (int i = 0; i < arrAddressString.Length; i++) 
       { 
        System.Console.WriteLine(arrAddressString[i]); 
       } 

       System.Console.ReadKey(); 
      } 
     } 
    } 
}