112 / 83 / 32
Регистрация: 10.08.2014
Сообщений: 420
|
||||||
1 | ||||||
Можно ли сначала прочесть файл, а потом открыть его в потоке12.10.2014, 02:18. Показов 1735. Ответов 8
Метки нет Все метки)
(
Чувствую, что путаюсь в многочисленных классах файлов/потоков. Пробовал и так и этак - либо выдаст написанное мной общее исключение, либо сделает всё для двух строчек (одной итерации) и зависает. Строк в файле 12 - через одну идут строки с целыми числами, разделённые пробелами.
В коде, если не говорить огульно, мне не нравится, что у меня файл сначала открывается для считывания содержимого в массив строк, а потом открывается в потоке - может быть в этом ошибка.
0
|
12.10.2014, 02:18 | |
Ответы с готовыми решениями:
8
Как сначала описать класс а потом написать его реализацию
|
814 / 422 / 169
Регистрация: 08.02.2013
Сообщений: 711
|
|
12.10.2014, 02:28 | 3 |
baliar, а чем Вам не нравится способ прочесть все/записать?
0
|
112 / 83 / 32
Регистрация: 10.08.2014
Сообщений: 420
|
|
12.10.2014, 02:33 [ТС] | 4 |
Что-то вроде File.WriteAllLines(string path, IEnumerable<string> contents) ?
0
|
814 / 422 / 169
Регистрация: 08.02.2013
Сообщений: 711
|
||||||
12.10.2014, 02:44 | 5 | |||||
baliar, нет, Ваш метод - ReadAllLines итд. Если памяти много ест - лучше открыть на чтение и создать на запись временный файл. Одновременно читать по строкам и записывать. Потом File.Move.
У Вас, возможно ошибка в том, что
Добавлено через 8 минут Вообще, в таких случаях формирование строки лучше делать StringBuilder'ом, потому что s = s+ "..." создаст новую строку и в памяти будет висеть старое и новое значение. А еще лучше - записывать сразу в файл и нигде не хранить предыдущие значения.
1
|
814 / 422 / 169
Регистрация: 08.02.2013
Сообщений: 711
|
||||||
12.10.2014, 03:07 | 7 | |||||
![]() Решение
baliar, вот примерно так
1
|
112 / 83 / 32
Регистрация: 10.08.2014
Сообщений: 420
|
|
12.10.2014, 03:25 [ТС] | 8 |
Вроде бы работает - спасибо. Правда, на ночь уже не стану разбирать код. Завтра, наверное. Ещё раз благодарю.
...Вроде бы примерно то же самое, только совершенно другими методами - сам бы не написал, продолжал бы переставлять наиболее очевидные методы потоков и файлов.
0
|
112 / 83 / 32
Регистрация: 10.08.2014
Сообщений: 420
|
|
13.10.2014, 22:36 [ТС] | 9 |
Гм. Дабы не плодить темы с малозначащими названиями... А можно ли как-то разделить логику в описанном выше коде. Скажем нам нужно получать и добавлять в файл разные сигналы - без инкапсуляции выходит копирование кода в каждый новый класс. А если бы был, скажем, File Manager, можно было бы, наверное, как-то открыть поток в его конструкторе, а потом к этому объекту применить метод настроенного на определённый сигнал класса... У меня уже 3ий класс сигналов пошёл и в каждом копипаст с доработкой... Но если тема не очевидна, не заморачивайтесь - попробую сам что-нибудь придумать.
0
|
13.10.2014, 22:36 | |
13.10.2014, 22:36 | |
Помогаю со студенческими работами здесь
9
Можно ли открыть .xnb, отредактировать его потом опять запихать?
Можно ли загрузить в облако текстовый файл и потом отображать его в приложении? Открыть и прочесть *.amf файл Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
![]() |
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Язык программирования C++: сравнение с другими языками
Programming 06.02.2025
Современная разработка программного обеспечения предлагает множество языков программирования, каждый из которых обладает уникальными характеристиками и областями применения. C++ занимает особое место. . .
|
Язык программирования C++: достоинства и недостатки
Programming 06.02.2025
C++ считается одним из самых влиятельных языков программирования, продолжающим занимать ведущие позиции в мире разработки программного обеспечения. Этот язык появился как расширение языка C с. . .
|
Регулярные выражения в Python
BasicMan 06.02.2025
Регулярные выражения - это последовательности символов, определяющие правила поиска и сопоставления текстовых данных. В Python они используются для поиска подстрок, проверки соответствия текста. . .
|
Как создать свой мод для Майнкрафт с нуля на Java
IT_Exp 06.02.2025
Разработка мода для Minecraft начинается с правильной настройки среды разработки. Для создания мода потребуется Java Development Kit (JDK), интегрированная среда разработки и Minecraft Forge. JDK. . .
|
Async/await и асинхронное программирование в Java
IT_Exp 06.02.2025
Асинхронное программирование - это подход к организации вычислительных процессов, позволяющий приложениям эффективно использовать доступные ресурсы системы. В контексте Java этот метод приобретает. . .
|
Как исправить android.os.NetworkOnMainThreadException
hw_wired 06.02.2025
Исключение NetworkOnMainThreadException возникает при попытке выполнить сетевые операции в главном потоке Android-приложения. Главный поток отвечает за обработку пользовательского интерфейса и должен. . .
|
Как в Java определить, что массив содержит определенное значение
hw_wired 06.02.2025
В Java класс Arrays предлагает несколько способов для проверки наличия значений в массивах. Наиболее широко применяемый метод заключается в использовании комбинации Arrays. asList() и contains(). . . .
|
Как использовать virtualenv в Python. Виртуальные среды/окружения
hw_wired 06.02.2025
В Python виртуальные окружения решают одну из ключевых задач разработки - изоляцию зависимостей между проектами. Virtualenv создает отдельное пространство для каждого проекта, где устанавливаются. . .
|
Кнопка в HTML, которая работает как ссылка
hw_wired 06.02.2025
В HTML существует несколько подходов к созданию кнопки, которая функционирует как ссылка. Базовым элементом выступает тег button, который можно преобразовать в ссылку с помощью JavaScript. Для этого. . .
|
Как обновить страницу с помощью JavaScript
bytestream 06.02.2025
JavaScript предоставляет несколько базовых методов для обновления веб-страницы, которые встроены непосредственно в язык и доступны через объектную модель браузера. Основной метод обновления страницы. . .
|