Лучший способ прочитать ip: порт из текстового файла и использовать это в моей строке и отличить ip от порта как ":" в коде - PullRequest
0 голосов
/ 07 мая 2019

string ip; int port; Вот мой код, который читает в текстовый файл IEnumerable<String> lines = File.ReadLines("proxies.txt"); Я хочу отсортировать IP и PORT в коде (см. выше), считав их из текстового файла как IP: PORT и использовать их для моей строки / int. Я хочу получить к ним доступ мгновенно.

Одновременно может использоваться только один IP: PORT (я думаю, они могут быть частью массива как [0] и добавляют 1 для каждой строки каждый раз при циклическом цикле) Файл списка очень прост, вот визуальный

ip1:port1
ip2:port2
ip3:port3
ip4:port4

Ответы [ 2 ]

0 голосов
/ 07 мая 2019

Здесь вы можете перебрать все строки в тексте.

        string line;
        System.IO.StreamReader file = new System.IO.StreamReader(@"C:\test.txt");

        while ((line = file.ReadLine()) != null)
        {
            var data = line.Split(':');
            string ipAdd = data[0];
            int port = int.Parse(data[1]);

            //Your conditions here...
            Console.WriteLine(ipAdd);
            Console.WriteLine(port);
        }
0 голосов
/ 07 мая 2019

Чтобы прочитать первую строку (на данный момент; я оставлю код для чтения всех строк, чтобы вы могли выбрать другие строки в будущем, но смотрите добавление ниже, если ваш файл большой) и разбейте его на двоеточиепринимая первый бит в качестве ip и второй бит в качестве порта:

string[] lines = File.ReadAllLines("path");
string[] bits = lines[0].Split(':');
string host = bits[0];
int port = int.Parse(bits[1]);

Здесь нет обработки ошибок - если файл имеет нулевые строки или если в первой строке нет двоеточия,или если данные после двоеточия не являются числовыми, вы получите исключение ..

Если ваш файл огромен, лучше использовать ReadLines (), так как он не читает весь файл за один раз.идти;он читает постепенно, когда вы вытаскиваете его.Как то так:

IEnumerable<string> lines = File.ReadLines("path");
string[] bits = lines.First().Split(':');
string host = bits[0];
int port = int.Parse(bits[1]);
...