Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
33 / 33 / 18
Регистрация: 16.09.2015
Сообщений: 246

Считывание отдельных строк с с файла на сервере

30.11.2015, 15:34. Показов 1097. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. У меня есть код, с помощью которого проверяется наличие обновлений на сервере вот он:
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public class VersionChecker
{
    public bool NewVersionExists(string localVersion, string versionFromServer)
    {
        Version verLocal = new Version(localVersion);
        Version verWeb = new Version(versionFromServer);
        return verLocal != verWeb;
    }
}
 
private void ChUpd()
{
    if (Start_Realism2015.Properties.Settings.Default.SkipUpd == true)
    {
        string ServerVersion = "http://realism2015.ru/realism2015v2/version.txt";
        string localVersion = File.ReadAllText("v.txt");
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(ServerVersion);
        // Ответ сервера
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        // Используем чтение потока данных
        using (StreamReader reader = new StreamReader(response.GetResponseStream()))
        {
            // Пытаемся получить версию сервера, приобразуя в Int32 из строки
            ServerVersion = reader.ReadToEnd();
            if (verChecker.NewVersionExists(localVersion, ServerVersion))
            {
                r15_updater();
                Application.Exit();
 
            }
            else hidethisform();
        }
    }
    else hidethisform();
}

Он читает данные из текстового файла на сервере и на компе клиента, сравнивает числа в них и из этого делает вывод. Теперь мне нужно сделать так чтобы он сравнивал числа построчно. Тоесть в файлах на сервере и на клиенте сейчас 1 строчка которую он сравнивает, а я хочу добавить вторую, так чтобы это считать как версию отдельного модуля программы. С файлом версии клиента (v.txt) проблем нету. Не получается с файлом на сервере. Я уверен что ответ на поверхности, сделать переменную ServerVersion массивом и считывать в него построчно (ServerVersion[1], ServerVersion[2] итд.). Что то не получается. Помогите, пожалуйста.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.11.2015, 15:34
Ответы с готовыми решениями:

Потоки, считывание строк из файла.
Добрый день. Вот озадачился такой задачей, никак не могу подобрать нужной выражение в C# для считывания строк из файла. Проблема...

Ускорить считывание большого количества строк (~2500000) из файла
в общем есть файл, в нем около 2500000 строк (в каждой строке есть всего 2 объекта), я пытаюсь сделать список смежности по нему, делаю так ...

Считывание строк из файла в формате .txt и подсветка гласных и согласных букв в разных цветах
Здравствуйте уважаемые форумчане. Помоги пожалуйста новичку, написать консольную программу для считывания строк из файла в формате .txt и...

2
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18288 / 14211 / 5368
Регистрация: 17.03.2014
Сообщений: 28,889
Записей в блоге: 1
30.11.2015, 16:56
aurisdies, в рамках твоего кода это можно сделать так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
    string clientVersion = reader.ReadLine();
    if (verChecker.NewVersionExists(localVersion, clientVersion))
    {
        // Нужно обновлять главное приложение ...
    }
    
    string module1Version = reader.ReadLine();
    if (verChecker.NewVersionExists(localVersion, clientVersion))
    {
        // Нужно обновлять модуль 1 ...
    }
    
    // и т.д.
}
Цитата Сообщение от aurisdies Посмотреть сообщение
C#
1
2
3
// Пытаемся получить версию сервера, приобразуя в Int32 из строки
ServerVersion = reader.ReadToEnd();
if (verChecker.NewVersionExists(localVersion, ServerVersion))
Это неверный комментарий. Никакого преобразования в int здесь не делается. Подобные неправильные комментарии только мешают. Удали его.
0
33 / 33 / 18
Регистрация: 16.09.2015
Сообщений: 246
30.11.2015, 18:06  [ТС]
Готово. Огромное спасибо.. чёт я затупил.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 public class VersionChecker
        {
            public bool NewVersionExists(string localVersion, string versionFromServer)
            {
                Version verLocal = new Version(localVersion);
                Version verWeb = new Version(versionFromServer);
                return verLocal < verWeb;
            }
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            string ServerV = "http://realism2015.ru/realism2015v2/beta_version.txt";
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(ServerV);
            // Ответ сервера
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            // Используем чтение потока данных
            using (StreamReader reader = new StreamReader(response.GetResponseStream()))
            {
                StreamReader fs = new StreamReader("v.txt");
                string updaterSVersion = reader.ReadLine();
                string updaterVersion = fs.ReadLine();
                if (verChecker.NewVersionExists(updaterVersion, updaterSVersion))
                {
                    MessageBox.Show("Версия апдэйтера:" + updaterVersion +
                                    "\nВерсия на сервере: " + updaterSVersion
                    );
                }
                string launcherSVersion = reader.ReadLine();
                string launcherVersion = fs.ReadLine();
                if (verChecker.NewVersionExists(launcherVersion, launcherSVersion))
                {
                    MessageBox.Show("Версия лаунчера:" + launcherVersion +
                                    "\nВерсия на сервере: " + launcherSVersion
                    );
    
                }
               }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.11.2015, 18:06
Помогаю со студенческими работами здесь

Считывание отдельных строк в Fortran 77
Доброго времени суток. Возникла задача написать на фортране небольшую программу, хоть я и ни разу не программист. Ну, приходится учиться....

Считывание данных из файла на сервере
Проблема заключается в том что на сервере лежит текстовый файл, там в каждой строчке версия 1100,1200 и тд. Так же в корне с программой...

Считывание информации из файла, находящегося на сервере.
Мне надо апплетом считать информацию из файла, находящегося на сервере.

Запись в файл отдельных строк и чтение строки с определённым номером из файла
Друзья, нужна помощь в написании программы, которая позволяет записывать в файл отдельные строки, вводимые пользователем и читать строку с...

Считывание строк из файла
Во общем есть текстовый файл, из которого надо взять строку и просто ее напечатать #define _CRT_SECURE_NO_WARNINGS #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru