@michadimin

Как работать с файлами в C#?

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

Я создаю этот файл используя File.Create()...
И ВОТ ТУТ ГЛАВНАЯ ПРОБЛЕМА!
При попытке записи в файл - мне пишут, что данный файл занят другим процессом(как я понял - потоком ввода/вывода из-за того, что я использовал File.Create() )

Окей. Допустим, что можно даже обойтись БЕЗ File.Create() (только что выяснил, что File.WriteAllText() создаёт файл вместе с записыванием)...

Но извините. А как удалить поток ввода/вывода? Этот файл так и будет висеть в памяти ПК без возможности его закрыть или как? Ибо метода Close() я что-то не обнаружил.
  • Вопрос задан
  • 181 просмотр
Решения вопроса 1
Используй using при работе с файлами.
using(var file = File.Create(path)) {
// делаем все нужные дела через объект file
} // а тут файл автоматически закроется

Это аналогично питоновскому with

Ну или можешь руками вызывать Close или Dispose, если в твоём случае using - не вариант.
Кстати File.WriteAllText и так умеет создавать файл, если он не существует
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
freeExec
@freeExec
Участник OpenStreetMap
File f = File.Create("test");
f.Write();
f.Close();
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы