Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/29: Рейтинг темы: голосов - 29, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 21.05.2009
Сообщений: 3

Запись в конец файла, задание максимального количества строк в файле

21.05.2009, 01:36. Показов 5594. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброй ночи, есть несколько вопросов.
1) Вот есть код создания файла и записи в него.
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
//Создаем поток для записи в файл и загружаем в него файл
 //при отсутствии файла он будет создан
 FileStream filestream =
   new FileStream(@"C:\\Sklad.txt", FileMode.OpenOrCreate, FileAccess.Write);
 //Очищаем поток
 filestream.SetLength(0);
 //StreamWriter создаем для потока filestream
 StreamWriter streamwriter = new StreamWriter(filestream, System.Text.Encoding.UTF8);
 
//Записываем текст, введенный в textBox1 в файл
 
 
  streamwriter.Write(textBox1.Text + " " + "|" + " ");
 
 streamwriter.Write(textBox2.Text + " " + "|" + " ");
 
 streamwriter.Write(textBox3.Text + " " + "|" + " ");
 
 
 
 //Освобождаем ресурсы
 streamwriter.Flush();
 streamwriter.Close();
 filestream.Close();
Как сделать чтобы новые строки добавлялись в конец файла (а не перезаписывался файл)
2)Возможно ли задать в файле максимально возможное количество строк? Если да то каким образом?
3)Как реализовать следующее: считается количество строк в файле, полученное значение вычитается из любого числа, допустим 200 и полученное значение заносится в text.box.
Спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.05.2009, 01:36
Ответы с готовыми решениями:

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

Загрузка матрицы из файла в StringGrid, количество столбцов и строк которого зависит от их количества в файле
Здравствуйте! Возник следующий вопрос: надо в StringGrid загрузить значения из файла. В файле находятся значения в виде матрицы,...

Подсчёт количества символов и количества строк в файле
Нужно написать программу, которая запрашивает у пользователя имя (адрес) текстового файла, далее открывает его и считает в нем количество...

3
2 / 2 / 0
Регистрация: 15.05.2009
Сообщений: 93
21.05.2009, 03:39
Я вот так делал,может не очень красиво но работает.
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
private void btnCheck_Click(object sender, System.EventArgs e)
        {
            //Read control data
            string OldTape = this.txtOldTape.Text;
            string NewTape = this.txtNewTape.Text;
            string Barcode = this.txtBarcode.Text;
            //string text;
            //int i;
            
                
            if(txtOldTape.Text.ToLower() == txtNewTape.Text.ToLower())
            {
                Form_Ok ok = new Form_Ok();
                ok.ShowDialog();
 
                using (StreamWriter w = File.AppendText(@"C:\Data\check_tape_reel.txt"))
                {
                    Log ("Check Time", w);
                    //Log ("Check Time", w);
                    w.WriteLine(txtBarcode.Text);
                    w.WriteLine(lstLine.Text);
                    w.WriteLine(ckbCompanyName.Text);
                    w.WriteLine("\nOK !");w.WriteLine(txtOldTape.Text); 
                    w.WriteLine(txtNewTape.Text);
                    w.WriteLine("-------------------------------");     
 
                    // Close the writer and underlying file.
                    w.Close();
                    this.txtBarcode.Clear();
                    this.txtOldTape.Clear();
                    this.txtNewTape.Clear();
                    //this.ckbKitName;
                    //this.lstLine.ClearSelected();
                    this.txtBarcode.Focus();
 
                }
            }
            else
            {
                if(txtOldTape.Text.Length > 0)
                {
                    txtNewTape.Focus();
                    if(txtOldTape.Text.ToLower() != txtNewTape.Text.ToLower())
                    {
                        Form_Wrong wrong = new Form_Wrong();
                        wrong.ShowDialog();
                        using (StreamWriter w = File.AppendText(@"C:\Data\check_tape_reel.txt"))
                        {
                            Log ("Check Time", w);
                            //Log ("Check Time", w);
                            w.WriteLine(txtBarcode.Text);
                            w.WriteLine(lstLine.Text);
                            w.WriteLine(ckbCompanyName.Text);
                            w.WriteLine("\nWRONG,WRONG,WRONG !!!"); w.WriteLine(txtOldTape.Text);
                            w.WriteLine(txtNewTape.Text);                           
 
                            // Close the writer and underlying file.
                            w.Close();                  
                        }
                        this.txtOldTape.Clear();
                        this.txtNewTape.Clear();                
                        this.txtOldTape.Focus();
                        // Open and read the file.
                        using (StreamReader r = File.OpenText(@"C:\Data\check_tape_reel.txt"))
                        {
                            DumpLog (r);
                        }
                    }
                }
            }
        }
    
        
        public static void Log (String logMessage, TextWriter w)
        {
            w.Write("\r\nLog Entry : ");
            
            w.WriteLine("{0} {1}", DateTime.Now.ToLongTimeString(),
                DateTime.Now.ToLongDateString());
            //w.WriteLine("  :");
            w.WriteLine("  :{0}", logMessage);
            w.WriteLine ("-------------------------------");
            // Update the underlying file.
            w.Flush();
        }
        public static void DumpLog (StreamReader r)
        {
            // While not at the end of the file, read and write lines.
            String line;
            while ((line=r.ReadLine())!=null)
            {
                Console.WriteLine(line);
            }
            r.Close();
            
        }
0
0 / 0 / 0
Регистрация: 21.05.2009
Сообщений: 3
21.05.2009, 04:06  [ТС]
Это по первому вопросу, если я правильно понял. Хм. По-моему я в нём не разберусь , ибо на C# всего неделю. . и жалко что консольно. а не визульный. Но, спасибо за информацию.
0
2 / 2 / 0
Регистрация: 15.05.2009
Сообщений: 93
21.05.2009, 04:59
Рад помоч.Попробуй вот код всей страници,я какраз использую в wind апликации а не в консоле.
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
        [STAThread]
        static void Main() 
        {               
            
            Application.EnableVisualStyles();
            Application.DoEvents(); 
            Application.Run(new CheckTape());
            
        }
            private void btnCheck_Click(object sender, System.EventArgs e)
        {
            //Read control data
            string OldTape = this.txtOldTape.Text;
            string NewTape = this.txtNewTape.Text;
            string Barcode = this.txtBarcode.Text;
            //string text;
            //int i;
            
                
            if(txtOldTape.Text.ToLower() == txtNewTape.Text.ToLower())
            {
                Form_Ok ok = new Form_Ok();
                ok.ShowDialog();
 
                using (StreamWriter w = File.AppendText(@"C:\Data\check_tape_reel.txt"))
                {
                    Log ("Check Time", w);
                    //Log ("Check Time", w);
                    w.WriteLine(txtBarcode.Text);
                    w.WriteLine(lstLine.Text);
                    w.WriteLine(ckbCompanyName.Text);
                    w.WriteLine("\nOK !");w.WriteLine(txtOldTape.Text); 
                    w.WriteLine(txtNewTape.Text);
                    w.WriteLine("-------------------------------");     
 
                    // Close the writer and underlying file.
                    w.Close();
                    this.txtBarcode.Clear();
                    this.txtOldTape.Clear();
                    this.txtNewTape.Clear();
                    //this.ckbKitName;
                    //this.lstLine.ClearSelected();
                    this.txtBarcode.Focus();
 
                }
            }
            else
            {
                if(txtOldTape.Text.Length > 0)
                {
                    txtNewTape.Focus();
                    if(txtOldTape.Text.ToLower() != txtNewTape.Text.ToLower())
                    {
                        Form_Wrong wrong = new Form_Wrong();
                        wrong.ShowDialog();
                        using (StreamWriter w = File.AppendText(@"C:\Data\check_tape_reel.txt"))
                        {
                            Log ("Check Time", w);
                            //Log ("Check Time", w);
                            w.WriteLine(txtBarcode.Text);
                            w.WriteLine(lstLine.Text);
                            w.WriteLine(ckbCompanyName.Text);
                            w.WriteLine("\nWRONG,WRONG,WRONG !!!"); w.WriteLine(txtOldTape.Text);
                            w.WriteLine(txtNewTape.Text);                           
 
                            // Close the writer and underlying file.
                            w.Close();                  
                        }
                        this.txtOldTape.Clear();
                        this.txtNewTape.Clear();                
                        this.txtOldTape.Focus();
                        // Open and read the file.
                        using (StreamReader r = File.OpenText(@"C:\Data\check_tape_reel.txt"))
                        {
                            DumpLog (r);
                        }
                    }
                }
            }
        }
    
        
        public static void Log (String logMessage, TextWriter w)
        {
            w.Write("\r\nLog Entry : ");
            
            w.WriteLine("{0} {1}", DateTime.Now.ToLongTimeString(),
                DateTime.Now.ToLongDateString());
            //w.WriteLine("  :");
            w.WriteLine("  :{0}", logMessage);
            w.WriteLine ("-------------------------------");
            // Update the underlying file.
            w.Flush();
        }
        public static void DumpLog (StreamReader r)
        {
            // While not at the end of the file, read and write lines.
            String line;
            while ((line=r.ReadLine())!=null)
            {
                Console.WriteLine(line);
            }
            r.Close();
            
        }
 
        private void btnAbout_Click(object sender, System.EventArgs e)
        {
            About about = new About();
            about.ShowDialog();     
        }
 
        private void menuItem1_Click(object sender, System.EventArgs e)
        {
            Show();
            this.WindowState = FormWindowState.Normal;
        }
 
        private void menuItem2_Click(object sender, System.EventArgs e)
        {
            this.Close();
        }
 
        private void CheckTapeReel_DoubleClick(object sender, System.EventArgs e)
        {
            Show();
            WindowState = FormWindowState.Normal;   
        }
 
        private void CheckTape_Resize(object sender, System.EventArgs e)
        {
            if (FormWindowState.Minimized == WindowState)
                Hide();
        }
 
        private void btnClose_Click(object sender, System.EventArgs e)
        {
            this.Close();
        }
 
        bool next = false;
        private void txtOldTape_TextChanged(object sender, EventArgs e)
        {
            base.OnTextChanged(e);
            if (next)
            {
                //txtNewTape.Focus();
                next = false;
            }
 
                  }
        private void txtOldTape_TextChanged(object sender, PreviewKeyDownEventArgs e)
        {
            if (e.KeyValue == 13)
            {
                next = true;
                txtNewTape.Focus();
            }
        }
 
 
        private void txtBarcode_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
        {
            if (e.KeyValue == 13)
            {
                next = true;
                txtOldTape.Focus();
            }
        }
 
        private void txtNewTape_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
        {
            if (e.KeyValue == 13)
            {
                next = true;
                btnCheck.Focus();
            }
        }
    
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.05.2009, 04:59
Помогаю со студенческими работами здесь

Запись в конец строки в файле
Ув. форумчане! Подскажите, как дописать в конец строки в файле определенные данные? Например у меня есть файл с уже забитыми данными: ...

Подсчитать количество строк в файле и записать в конец строку
Написать программу, которая читает файл, имя которого задается с клавиатуры, подсчитывает количество строк в нем и записывает в конец файла...

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

Умножение количества строк в файле
Есть txt в котором, к примеру, 50 строк. Как сделать чтобы софт этот весь текст умножил в 5 раз, то есть будет не 50 строк а 250 строк и...

Подсчет количества строк в файле
Здравствуйте. Хочу подсчитать определенные строки в файле, но ошибка чтения потока возникает. m- это количество строк в файле, занести...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru