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

Как создать текстовый файл?

31.03.2010, 17:35. Показов 216003. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как создать текстовый файл в Си шарп
1
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.03.2010, 17:35
Ответы с готовыми решениями:

Как создать текстовый файл?
и как записывать в нем данные?

Как создать текстовый файл в определённой директории на диске?
Ребят помогите,как создать текстовый файл в определённой директории на диске C.

Создать текстовый файл. Сформировать новый файл
Задание.Создать текстовый файл. Сформировать новый файл, элементы которо¬го указывают длину каждого слова в исходном файле. Скажите...

18
Эксперт С++
 Аватар для Maxim Prishchepa
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
31.03.2010, 17:40
MSDN - наше всё ;-)
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
using System;
using System.IO;
 
class Test 
{
    
    public static void Main() 
    {
        string path = Path.GetTempFileName();
        FileInfo fi1 = new FileInfo(path);
 
        if (!fi1.Exists) 
        {
            //Create a file to write to.
            using (StreamWriter sw = fi1.CreateText()) 
            {
                sw.WriteLine("Hello");
                sw.WriteLine("And");
                sw.WriteLine("Welcome");
            }   
        }
 
        //Open the file to read from.
        using (StreamReader sr = fi1.OpenText()) 
        {
            string s = "";
            while ((s = sr.ReadLine()) != null) 
            {
                Console.WriteLine(s);
            }
        }
 
        try 
        {
            string path2 = Path.GetTempFileName();
            FileInfo fi2 = new FileInfo(path2);
 
            //Ensure that the target does not exist.
            fi2.Delete();
 
            //Copy the file.
            fi1.CopyTo(path2);
            Console.WriteLine("{0} was copied to {1}.", path, path2);
 
            //Delete the newly created file.
            fi2.Delete();
            Console.WriteLine("{0} was successfully deleted.", path2);
 
        } 
        catch (Exception e) 
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}
6
146 / 118 / 8
Регистрация: 09.03.2010
Сообщений: 150
31.03.2010, 18:27
Лучший ответ Сообщение было отмечено как решение

Решение

Kosyak3x
смотри System.IO - там все методы для работы с файлами.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//создать пустой файл
        System.IO.File.Create("D:\\TestFile.txt");
 
        //создать (если нет) либо открыть если есть и записать текст (путем замены если что то      было   записано)
        System.IO.File.WriteAllText("D:\\TestFile.txt", "текст");
 
//создает новый  если такого нет , либо открывает имеющийся и пишет путем добавления 
 System.IO.File.AppendAllText("D:\\TestFile.txt", "текст");
 
//получить доступ к  существующему либо создать новый
        StreamWriter file = new StreamWriter("D:\\TestFile.txt");
//записать в него
        file.Write("текст");
//закрыть для сохранения данных
        file.Close();
про FileStream сам почитаешь.
21
 Аватар для SKIER
12 / 11 / 5
Регистрация: 04.07.2009
Сообщений: 357
12.05.2010, 10:46
сори уже нашел ответ
0
 Аватар для Alias29Rus
7 / 7 / 1
Регистрация: 16.02.2010
Сообщений: 59
12.05.2010, 16:01
А как можно в уже существующий не пустой файл добавить новую строку (чтобы она не была продолжением старой строки)??
0
Комбайнёр
 Аватар для MAcK
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
12.05.2010, 16:04
C#
1
System.IO.File.AppendAllText("D:\\TestFile.txt", "текст");
1
 Аватар для Alias29Rus
7 / 7 / 1
Регистрация: 16.02.2010
Сообщений: 59
12.05.2010, 16:31
Неее, это не то у меня вот что:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
   private void сохранитьПлейлистКакToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                for (int i = 0; i < listcount; i++)
                {                   
                    Playlist.ClearSelected();
                    Playlist.SelectedIndex = i;
                    System.IO.File.AppendAllText(saveFileDialog1.FileName, Playlist.SelectedItem.ToString()); ;
                    Playlist.ClearSelected();
                }         
            }
        }
и мне нужно чтобы в файл записывался список. а оно записывается все в одну строку...

Добавлено через 20 минут
уже придумал...
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  private void сохранитьПлейлистКакToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                using (StreamWriter writer = new StreamWriter(saveFileDialog1.FileName))
                {                
                for (int i = 0; i < listcount; i++)
                {                   
                    Playlist.SelectedIndex = i;
                    writer.WriteLine(Playlist.SelectedItem.ToString()); ;
                    Playlist.ClearSelected();
                }
                }         
            }
        }
0
146 / 118 / 8
Регистрация: 09.03.2010
Сообщений: 150
12.05.2010, 16:54
Лучший ответ Сообщение было отмечено как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
способов записать данные в файл построчно много:
например так:
        FileStream file = new FileStream(@"D:\test\text.txt", FileMode.Append);
        StreamWriter fnew = new StreamWriter(file, Encoding.GetEncoding(1251));
        for (int i = 0; i < 10; i++)
        {
       fnew.WriteLine("Еще одна новая строка");
    // или так тоже можно     
 //System.IO.File.AppendAllText(@"D:\test\text.txt", "\r\n" + "Привет с большого бодуна!",  Encoding.GetEncoding(1251));
           }
        fnew.Close();
Добавлено через 18 минут
а вообще для плейлиста в своем плеере я linq to xml использовал
C#
1
2
3
4
 XElement element4 = new XElement("Playlist",
            new XElement("List", from v in names select new XElement("name", v, new XAttribute("Length", v.Length / 1024)),
            from d in fullnames select new XElement("fullname", d)));
        element4.Save(@"D:\play6.xml");
names и fullnames это таблицы одна с именами файлов - другая с полными путями до них
получается вот такой файлик откуда легко можно извлечь нужные данные

XML
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
<?xml version="1.0" encoding="utf-8"?>
<Playlist>
  <List>
    <name Length="6535">01 - Ночь.mp3</name>
    <name Length="2846">02 - Хоровод.mp3</name>
    <name Length="4897">03 - Вечер.mp3</name>
    <name Length="3744">04 - Очень интересно.mp3</name>
    <name Length="4554">05 - Золушка.mp3</name>
    <name Length="2702">06 - Деньги.mp3</name>
    <name Length="3494">07 - Караван.mp3</name>
    <name Length="6061">08 - Опиумный дым.mp3</name>
    <name Length="4829">Emilie Autumn - By_The_Sword.mp3</name>
    <name Length="4377">Falchion - Shadows_in_The_Wasteland.mp3</name>
    <name Length="2133">Helrunar - Winter.mp3</name>
    <name Length="3021">Latexxx Teens - (p)Resident_Evil.mp3</name>
    <name Length="3837">Pain - Monkey_business.mp3</name>
    <fullname>D:\music\01 - Ночь.mp3</fullname>
    <fullname>D:\music\02 - Хоровод.mp3</fullname>
    <fullname>D:\music\03 - Вечер.mp3</fullname>
    <fullname>D:\music\04 - Очень интересно.mp3</fullname>
    <fullname>D:\music\05 - Золушка.mp3</fullname>
    <fullname>D:\music\06 - Деньги.mp3</fullname>
    <fullname>D:\music\07 - Караван.mp3</fullname>
    <fullname>D:\music\08 - Опиумный дым.mp3</fullname>
    <fullname>D:\music\Emilie Autumn - By_The_Sword.mp3</fullname>
    <fullname>D:\music\Falchion - Shadows_in_The_Wasteland.mp3</fullname>
    <fullname>D:\music\Helrunar - Winter.mp3</fullname>
    <fullname>D:\music\Latexxx Teens - (p)Resident_Evil.mp3</fullname>
    <fullname>D:\music\Pain - Monkey_business.mp3</fullname>
  </List>
</Playlist>
3
 Аватар для Alias29Rus
7 / 7 / 1
Регистрация: 16.02.2010
Сообщений: 59
12.05.2010, 18:03
Цитата Сообщение от erlik Посмотреть сообщение
from v in names select
Цитата Сообщение от erlik Посмотреть сообщение
from d in fullnames select
а v и d это тут что?

Добавлено через 10 минут
все, разобрался что к чему
0
 Аватар для SKIER
12 / 11 / 5
Регистрация: 04.07.2009
Сообщений: 357
12.05.2010, 21:06
Обьясните в чем разница между этими двумя способами.Если я правильно понимаю ситуацию.


C#
1
System.IO.File.Create("D:\\TestFile.txt");
и

C#
1
StreamWriter file = new StreamWriter("D:\\TestFile.txt");
1
 Аватар для kirill29
2098 / 1263 / 173
Регистрация: 01.02.2009
Сообщений: 2,842
12.05.2010, 21:30
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от SKIER Посмотреть сообщение
System.IO.File.Create("D:\\TestFile.txt" );
Создает файл в указанной директории.

Цитата Сообщение от SKIER Посмотреть сообщение
StreamWriter file = new StreamWriter("D:\\TestFile.txt");
Создает экземпляр класса StreamWriter, при котором создается файл, но при этом с помощью экземпляра можно осуществлять запись в файл, так как открывается отдельный поток для записи в файл
4
 Аватар для SKIER
12 / 11 / 5
Регистрация: 04.07.2009
Сообщений: 357
12.05.2010, 22:14
А поток закрывается методом file.Close(); ?????
0
 Аватар для kirill29
2098 / 1263 / 173
Регистрация: 01.02.2009
Сообщений: 2,842
12.05.2010, 23:06
Цитата Сообщение от SKIER Посмотреть сообщение
А поток закрывается методом file.Close(); ?????
Да...
1
 Аватар для SKIER
12 / 11 / 5
Регистрация: 04.07.2009
Сообщений: 357
15.05.2010, 03:31
Дабы не плодить темы решил в этой спросить!!!

Добавление информации в файл понятно как делать.
Вот собственно:
C#
1
2
3
4
5
6
7
8
private void button2_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < Form1.N; i += 2)
            {                
                File.AppendAllText(Form1.S1, i.ToString()+" ");                
            }           
            Form1.quesForm.Close();
        }
А как сделать перезапись(старую инфу в файле стираем новую записываем):
что я имею ввиду, если использовать эту запись:

C#
1
File.WriteAllText(Form1.S1,i.ToString());
то каждая занесенная цифра стирается последующей,и в итоге в файл записывается только последняя цифра.Как этого избежать??
1
 Аватар для kirill29
2098 / 1263 / 173
Регистрация: 01.02.2009
Сообщений: 2,842
15.05.2010, 21:48
Цитата Сообщение от SKIER Посмотреть сообщение
А как сделать перезапись(старую инфу в файле стираем новую записываем):
что я имею ввиду, если использовать эту запись:

C#
1
File.WriteAllText(Form1.S1,i.ToString());
то каждая занесенная цифра стирается последующей,и в итоге в файл записывается только последняя цифра.Как этого избежать??
У тебя это происходит потому, что метод WriteAllText() создает файл, записывает в него текст и закрывает файл.
Если здесь хранится название и путь к файлу: Form1.S1
Для перезаписи может лучше сделать так:
C#
1
2
3
4
5
6
7
8
9
private void button2_Click(object sender, EventArgs e)
        {
            StreamWriter file = new StreamWriter(Form1.S1);
            for (int i = 0; i < Form1.N; i += 2)
            {                
                file.Write(i.ToString()+" ")                
            }           
            file.Close();
        }
0
3 / 3 / 0
Регистрация: 02.05.2010
Сообщений: 6
15.05.2010, 22:07
Цитата Сообщение от SKIER Посмотреть сообщение
Обьясните в чем разница между этими двумя способами.Если я правильно понимаю ситуацию.


C#
1
System.IO.File.Create("D:\\TestFile.txt");
создаешь файл

C#
1
StreamWriter file = new StreamWriter("D:\\TestFile.txt");
создаешь линк на поток для записи в файл, и если файла нет он создается при условии верно указанного пути и прав на создание файлов в той директории, обработать можно через Exception
2
1 / 3 / 0
Регистрация: 30.09.2015
Сообщений: 13
23.03.2016, 19:21
Люди, а как создать скажем 1000 пустых .тхт файлов с именами файлов из определённой папки?
0
 Аватар для Serg22
107 / 107 / 58
Регистрация: 04.03.2013
Сообщений: 479
23.03.2016, 19:36
MMihail_007, смотри в сторону
C#
1
2
var files = Directory.GetFiles(PATH);
foreach(var file in files) File.Create(file);
Поможет еще класс Path (что бы получить чисто имя файла без раcширения, и указать необходимый (.txt)). Так же полезны будут FileInfo/DirectoryInfo.
1
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 43
24.05.2020, 23:54
окей. у нас есть
C#
1
2
3
4
5
6
//получить доступ к  существующему либо создать новый
        StreamWriter file = new StreamWriter("D:\\TestFile.txt");
//записать в него
        file.Write("текст");
//закрыть для сохранения данных
        file.Close();
а как с новой строки начать? /n?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.05.2020, 23:54
Помогаю со студенческими работами здесь

Дано целое число N и текстовый файл. Создать новый файл, содержащий все слова длины N из исходного файла
Помогите, пожалуйста, с задачей :sigh: Дано целое число N и текстовый файл. Создать новый файл, содержащий все слова длины N из исходного...

Не могу создать текстовый файл
Не могу создать текстовый файл в c#, написал диск С, потому что там находится папка Repos,что я черт возьми делаю не так?...

Создать текстовый файл используя using
Подскажите как создать текстовый файл при помощи using с совместным доступом на чтение и запись. Для создания потока файла использовать...

Создать текстовый файл и написать в нём
Нужно создать текстовый файл и написать в нём информацию. как это сделать?

Создать текстовый файл и открыть его
Нужно реализовать одну функцию, есть кусок кода, который создаёт текстовый файл и записывает в него хрень. Как сделать так, чтобы он ещё и...


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru