Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> StreamWriter обрезает или создает нулевой файл! после перекодировки в CP866 
:(
    Опции темы
Suppir
Дата 4.9.2010, 08:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 588
Регистрация: 20.4.2009

Репутация: нет
Всего: нет



Добрый день!


Вот следующий код:

Код

/*
 * Created by SharpDevelop.
 * User: Admin
 * Date: 03.09.2010
 * Time: 22:55
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;

namespace nsr
{
    class Program
    {
        public static void Main(string[] args)
        {
            StreamReader IN = new StreamReader("C:\\projects\\1.txt", Encoding.GetEncoding(866));
            StreamWriter OUT = new StreamWriter("C:\\projects\\2.txt", false, Encoding.GetEncoding(866));
            string line;
            while ((line = IN.ReadLine()) != null)
            {
            Console.WriteLine(line);
            OUT.WriteLine(line);
            }
         Console.ReadKey(true);
        }
    }
}



В консоль выводит все строки правильно, но файл 2.txt создается нулевого размера!
Если 1.txt достаточно большой, то 2.txt создается, но при этом обрезается несколько последних строк.

Файл 1.txt прикреплен к сообщению.

Присоединённый файл ( Кол-во скачиваний: 1 )
Присоединённый файл  1.txt 0,62 Kb
PM MAIL   Вверх
jonie
Дата 4.9.2010, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 22
Всего: 118



Suppir, закрывать надо потому что потоки - они буферизированые, кроме того наследуют IDisposable.
Код

            using(StreamReader IN = new StreamReader("C:\\projects\\1.txt", Encoding.GetEncoding(866))){
            using(StreamWriter OUT = new StreamWriter("C:\\projects\\2.txt", false, Encoding.GetEncoding(866))){
            string line;
            while ((line = IN.ReadLine()) != null)
            {
            Console.WriteLine(line);
            OUT.WriteLine(line);
            }
}}
         Console.ReadKey(true);



--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Suppir
Дата 4.9.2010, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 588
Регистрация: 20.4.2009

Репутация: нет
Всего: нет



Понятно, а я думал они сами закроются после отработки программы. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0435 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.