очистка файла через FileStream

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

очистка файла через FileStream

Сообщение Dmitriy Solomnikov » 02.03.2006 (Чт) 18:14

есть поток (FileStream), который открывает файл. После считывания информации мне нужно очистить(полностью) файл и записать в него новые данные, но FileStream закрывать крайне не желательно.

Как можно очистить файл, не закрывая поток?

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Сообщение Nord777 » 02.03.2006 (Чт) 18:40

Код: Выделить всё
  Dim FS As New IO.FileStream("c:\1.txt", IO.FileMode.OpenOrCreate)
        Dim s As String = "1234567890"
        Dim B() As Byte

        ReDim B(s.Length - 1)
        For i As Integer = 0 To s.Length - 1
            B(i) = CType(Asc(s(i)), Byte)
        Next

        'записали чтонить в файл
        FS.Write(B, 0, s.Length)
        'обнулили не закрывая
        FS.SetLength(0)
        'и записали еще чтонить
        FS.Write(B, 0, s.Length)

        FS.Close()

vick2312
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 17.10.2008 (Пт) 17:43

Re: очистка файла через FileStream

Сообщение vick2312 » 17.10.2008 (Пт) 17:51

Nord777 писал(а):
Код: Выделить всё
Dim FS As New IO.FileStream("c:\1.txt", IO.FileMode.OpenOrCreate)
...
'записали чтонить в файл
FS.Write(B, 0, s.Length)
'обнулили не закрывая
FS.SetLength(0)
'и записали еще чтонить
FS.Write(B, 0, s.Length)

FS.Close()

этот метод не катит, к сожалению, потому что если следущая, после обнуления длины потока, запись корочей предшествующей, то в файле остаётся мусор... :(
Есть ещё у кого идеи?

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Re: очистка файла через FileStream

Сообщение Nord777 » 17.10.2008 (Пт) 19:27

Flush не пробовал?
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5

vick2312
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 17.10.2008 (Пт) 17:43

Re: очистка файла через FileStream

Сообщение vick2312 » 20.10.2008 (Пн) 16:09

Nord777 писал(а):Flush не пробовал?

Пробовал... Тут, правда, надо уточнить (прошу прощения, что сразу не сказал, - виноват, исправлюсь), что работал с BinaryReader, BinaryWriter... Со StreamReader, StreamWriter такого не получилось.


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 106

    TopList