2009-03-06 3 views
0

Я сейчас работаю над VB.NET DLL, и одна из функций, которые я пишу, должна взять файл и вырезать массив байтов (метод У меня есть работы, и их можно отвлечь здесь). Каков наилучший способ передать файл этой функции? Было бы лучше, если бы имя файла было лучше, или что было бы лучшим способом для этого?Лучший способ передать файл функции

ответ

2

FileStream Class

образец по ссылке выше

Private Shared Sub AddText(ByVal fs As FileStream, ByVal value As String) 
    Dim info As Byte() = New UTF8Encoding(True).GetBytes(value) 
    fs.Write(info, 0, info.Length) 
End Sub 
+0

Не совсем то, что я имел в виду, но это решило мою проблему, спасибо :) – Sukasa

0

имена файлов в виде строки являются старая школа стандартный метод работы с файлами. Его параметр, который люди знают, как правильно установить и использовать.

Я согласен с Fredou выше и Greg D, что FileStream - лучший способ пойти. С ними просто легче делать все правильно.

+0

Не пропускайте файловые пути/имя файла как строки, если вы не полностью _must_. Filestreams (или их логический эквивалент) значительно превосходят. –

+0

Множество причин. Исключение состояния гонки File.Exists. Установленная утилита FileStream (как API должен иметь дело с доступом, отклоненным на недопустимом пути, например? Если ему все равно нужно выкинуть исключение, позвольте пользователю API напрямую обращаться с ним). Фильтры по своей сути более достоверны. –

+0

Я забыл упомянуть, что прохождение фильтра делает API более подходящим для последующего передачи только Stream. Таким образом, пользователи могут отправлять данные из любого потока, а не только из файла, и действительно получают какое-то общее использование из API практически без каких-либо дополнительных затрат. –

Смежные вопросы