Зачем нужна работа с файлами в программировании?

avatar jlhyjyghuj

854

20

jlhyjyghuj

Пользователь

Регистрация: 18.02.2020

Сообщения: 355

Рейтинг: 150

jlhyjyghuj

Регистрация: 18.02.2020

Сообщения: 355

Рейтинг: 150

img

Довольно давно изучаю c#, и знаю что есть специальная библиотека в .Net для работы с дисками каталогами файлами System.IO, и изначально я пропустил изучение этой билиотеки, только выучил как записывать и читать из файла информацию, и вот сейчас всё таки решил выучить это, но постоянно задаюсь вопросом, зачем и где мне это пригодится, задавался в гугле таким вопросом, но кроме как гайдов как пользоваться чтеним и записем данных ничего не нашёл. Я реально не могу найти этому применение, хелп. ( У меня есть только предположение, что когда в программе нужно использовать допустим только имя и айди пользователя, а для этого создавать бд абусурдно, можно это записывать в файл, но а зачем тогда в том же System.IO классы для работы с дисками и каталогами)

Ratibordas

Пользователь

Регистрация: 22.06.2012

Сообщения: 217

Рейтинг: 24

Ratibordas

Регистрация: 22.06.2012

Сообщения: 217

Рейтинг: 24

Для написания декстопных приложений под Windows, один из вариантов.

jlhyjyghuj

Пользователь

Регистрация: 18.02.2020

Сообщения: 355

Рейтинг: 150

jlhyjyghuj

Регистрация: 18.02.2020

Сообщения: 355

Рейтинг: 150

img

Ratibordas сказал(а):

Для написания декстопных приложений под Windows, один из вариантов.

Нажмите, чтобы раскрыть...

Ну а как мне может пригодиться работа с дисками и каталогами в создании десктоп приложения?

Вебмакака

Пользователь

Регистрация: 07.10.2020

Сообщения: 898

Рейтинг: 560

Вебмакака

Регистрация: 07.10.2020

Сообщения: 898

Рейтинг: 560

Эм. Миллион кейсов же.

 

Конфиги большинства программ в текстовые файлы сохраняются и оттуда же считываются.

Ведение логов / ошибок, которые сохраняются в текстовые файлы.

Любые программы которые связаны с чтением и сравнением содержимого нескольких файлов или анализа одного файла.

Написание автоматизирующих программ, которые, например, открывают файлик с кучей записей вида логин-пароль, считывают его и делают логин.

Создание кэша в процессе работы программы.

Ratibordas

Пользователь

Регистрация: 22.06.2012

Сообщения: 217

Рейтинг: 24

Ratibordas

Регистрация: 22.06.2012

Сообщения: 217

Рейтинг: 24

Вебмакака сказал(а):

Эм. Миллион кейсов же.

 

Конфиги большинства программ в текстовые файлы сохраняются и оттуда же считываются.

Ведение логов / ошибок, которые сохраняются в текстовые файлы.

Любые программы которые связаны с чтением и сравнением содержимого нескольких файлов.

Написание автоматизирующих программ, которые, например, открывают файлик с кучей записей вида логин-пароль, считывают его и делают логин.

Создание кэша в процессе работы программы.

Нажмите, чтобы раскрыть...

Ты .Net макака или просто js?

Вебмакака

Пользователь

Регистрация: 07.10.2020

Сообщения: 898

Рейтинг: 560

Вебмакака

Регистрация: 07.10.2020

Сообщения: 898

Рейтинг: 560

Ratibordas сказал(а):

Ты .Net макака или просто js?

Нажмите, чтобы раскрыть...

Просто JS.

Ratibordas

Пользователь

Регистрация: 22.06.2012

Сообщения: 217

Рейтинг: 24

Ratibordas

Регистрация: 22.06.2012

Сообщения: 217

Рейтинг: 24

Вебмакака сказал(а):

Просто JS.

Нажмите, чтобы раскрыть...

Аналогично, соболезную

Jaood

Пользователь

Регистрация: 09.09.2019

Сообщения: 3405

Рейтинг: 2051

Jaood

Регистрация: 09.09.2019

Сообщения: 3405

Рейтинг: 2051

 

MemoryStream и производные классы - для работы непосредственно с потоками данных в оперативке.

Из более примитивных примеров:

файлы конфигов самого приложения, документы (xml, docx...), IO так же отвечает за работу потоковых данных.

Ты банально не вытащишь из базы данных ничего больше коротенькой текстовой строчки без IO.

Естественно чтение всех двоичных данных, картинок, музыки и тд так же проходит только с использованием IO.

 

IO - Input/Output (ввод/вывод данных), так что, в принципе, через него идёт всё.

HiThere

Пользователь

Регистрация: 24.06.2016

Сообщения: 3470

Рейтинг: 2602

HiThere

Регистрация: 24.06.2016

Сообщения: 3470

Рейтинг: 2602

Для работы с файлами, как не странно

Загрузка файлов, чтение файлов (конфиги итд), редактирование файлов, создание электронной документации, электронные подписи итд

Для примера приведу то, что если бы этого не было, ты бы не смог загрузить аватарку на д2ру форум

Jaood

Пользователь

Регистрация: 09.09.2019

Сообщения: 3405

Рейтинг: 2051

Jaood

Регистрация: 09.09.2019

Сообщения: 3405

Рейтинг: 2051

Прошу прощения за вопрос, а "довольно давно изучаю" - это сколько?

Учитывая специфику языка, крайне странно, что ты вообще куда-то в другую сторону мог уйти, в обход IO.

jlhyjyghuj

Пользователь

Регистрация: 18.02.2020

Сообщения: 355

Рейтинг: 150

jlhyjyghuj

Регистрация: 18.02.2020

Сообщения: 355

Рейтинг: 150

img

Jaood сказал(а):

Прошу прощения за вопрос, а "довольно давно изучаю" - это сколько?

Учитывая специфику языка, крайне странно, что ты вообще куда-то в другую сторону мог уйти, в обход IO.

Нажмите, чтобы раскрыть...

Около года

Jaood

Пользователь

Регистрация: 09.09.2019

Сообщения: 3405

Рейтинг: 2051

Jaood

Регистрация: 09.09.2019

Сообщения: 3405

Рейтинг: 2051

Sorry3 сказал(а):

Около года

Нажмите, чтобы раскрыть...

Довольно медленный у тебя, видимо, темп обучения.

Там же что в программировании на .net? Потрогал классы с интерфейсами, посмотрел за что отвечают разные модификаторы доступа, мб ещё поиграться с лямбда-выражениями, немного разных структур данных вроде массивов, списков, словарей и всё. Это все в обзорном виде проходится за месяц.

Дальше IO, потом thread и асинхронность.

Хз в общем с чем ты там мог год возится.

jlhyjyghuj

Пользователь

Регистрация: 18.02.2020

Сообщения: 355

Рейтинг: 150

jlhyjyghuj

Регистрация: 18.02.2020

Сообщения: 355

Рейтинг: 150

img

Jaood сказал(а):

Довольно медленный у тебя, видимо, темп обучения.

Там же что в программировании на .net? Потрогал классы с интерфейсами, посмотрел за что отвечают разные модификаторы доступа, мб ещё поиграться с лямбда-выражениями, немного разных структур данных вроде массивов, списков, словарей и всё. Это все в обзорном виде проходится за месяц.

Дальше IO, потом thread и асинхронность.

Хз в общем с чем ты там мог год возится.

Нажмите, чтобы раскрыть...

Так я же написал что пропустил IO, и  за год с ним не встречался, поэтому и возник такой вопрос

 

Jaood

Пользователь

Регистрация: 09.09.2019

Сообщения: 3405

Рейтинг: 2051

Jaood

Регистрация: 09.09.2019

Сообщения: 3405

Рейтинг: 2051

Sorry3 сказал(а):

Так я же написал что пропустил IO, и  за год с ним не встречался, поэтому и возник такой вопрос

 

Нажмите, чтобы раскрыть...

А в чём ты данные хранил?

 

jlhyjyghuj

Пользователь

Регистрация: 18.02.2020

Сообщения: 355

Рейтинг: 150

jlhyjyghuj

Регистрация: 18.02.2020

Сообщения: 355

Рейтинг: 150

img

Jaood сказал(а):

А в чём ты данные хранил?

 

Нажмите, чтобы раскрыть...

В бд

Jaood

Пользователь

Регистрация: 09.09.2019

Сообщения: 3405

Рейтинг: 2051

Jaood

Регистрация: 09.09.2019

Сообщения: 3405

Рейтинг: 2051

Sorry3 сказал(а):

В бд

Нажмите, чтобы раскрыть...

А считывал из бд с помощью чего?

jlhyjyghuj

Пользователь

Регистрация: 18.02.2020

Сообщения: 355

Рейтинг: 150

jlhyjyghuj

Регистрация: 18.02.2020

Сообщения: 355

Рейтинг: 150

img

Jaood сказал(а):

А считывал из бд с помощью чего?

Нажмите, чтобы раскрыть...

С помощью sql запросов, рофл а можно по другому?

Jaood

Пользователь

Регистрация: 09.09.2019

Сообщения: 3405

Рейтинг: 2051

Jaood

Регистрация: 09.09.2019

Сообщения: 3405

Рейтинг: 2051

Sorry3 сказал(а):

С помощью sql запросов, рофл а можно по другому?

Нажмите, чтобы раскрыть...

Вообще да, есть entity, но то уже другая тема.

Возвращаясь к вопросу об sql-запросах, ничего что у них под капотом I/O используется для "вытаскивания" данных из базы?)

jlhyjyghuj

Пользователь

Регистрация: 18.02.2020

Сообщения: 355

Рейтинг: 150

jlhyjyghuj

Регистрация: 18.02.2020

Сообщения: 355

Рейтинг: 150

img

Jaood сказал(а):

Вообще да, есть entity, но то уже другая тема.

Нажмите, чтобы раскрыть...

Ну так в Entity те же sql запросы, почему другая тема?

Jaood сказал(а):

Возвращаясь к вопросу об sql-запросах, ничего что у них под капотом IO используется для "вытаскивания" данных из базы?)

Нажмите, чтобы раскрыть...

Я догадывался что там может быть IO, но IO это же именно работа с файлами которые находятся на физ компьютере клиента, так что мне кажется что sql запросы не как не связаны с System.IO, надо будет прочитать про это

Jaood

Пользователь

Регистрация: 09.09.2019

Сообщения: 3405

Рейтинг: 2051

Jaood

Регистрация: 09.09.2019

Сообщения: 3405

Рейтинг: 2051

Sorry3 сказал(а):

Ну так в Entity те же sql запросы, почему другая тема?

Я догадывался что там может быть IO, но IO это же именно работа с файлами которые находятся на физ компьютере клиента, так что мне кажется что sql запросы не как не связаны с System.IO, надо будет прочитать про это

Нажмите, чтобы раскрыть...

Как я уже писал в первом посте, I/O - это работа с любыми данными, не понимаю с чего ты взял про "только физические файлы".

Scouser_AK

Пользователь

Регистрация: 21.06.2020

Сообщения: 4051

Рейтинг: -745

Нарушения: 110

Scouser_AK

Регистрация: 21.06.2020

Сообщения: 4051

Рейтинг: -745

Нарушения: 110

ахахахахах, серьезно?

Это же самая важная часть программирования, ты в курсе?)

Что такое файлы? Что такое данные? Зачем программировать, если не для работы с данными, файлами и их передачей?))

Как ты картинки загружаешь? А музыку? А как качаешь игры? А как удаляешь? А как отправляешь кому-то фотки фиссуры в директ? А как ты горишь от того, что картинка не загрузилась? А как отправляешь документ преподу? Чеееее? А как ты вообще без файлов собрался на компуктере что-либо делать? Файлы это CORE в компьютерной системе, чет в голос)

Если ты не знаешь IO - можно даже не соваться в программирование дальше чем IamJavaScriptWebDeveloper,IknowReact,Vue,SCSS,easting smoothieeveryday xD

 

 

 

Sorry3 сказал(а):

С помощью sql запросов, рофл а можно по другому?

Нажмите, чтобы раскрыть...

А ничего что компьютер не магию совершает, а читает твой файлик с данными из бд и выводит тебе на экран те самые данные, которые ты записал? (input and output в чистом виде)

Или ты думал SQL это магия? Это всеголишь язык, который придумали, чтобы ты удобно обращался в так званой "программе для хранения данных"(бд), которая быстро читает и записывает данные