using(FileStream stream = new FileStream(@"D:\my_photo.jpg")) {
}
Stream объект
Например скажем есть файл "D:\my_photo.jpg" Мне надо всё содержимое файла вычитать именно в объект Stream (а ни в какой нибудь binary array) Буду рад за помощь если можно напишите кусочек кода или оставьте ссылку.
:)
Цитата: mikhalych
Возможно ли содержимое файла вычитать в объект Stream (StreamReader)
Например скажем есть файл "D:\my_photo.jpg" Мне надо всё содержимое файла вычитать именно в объект Stream (а ни в какой нибудь binary array) Буду рад за помощь если можно напишите кусочек кода или оставьте ссылку.
:)
Например скажем есть файл "D:\my_photo.jpg" Мне надо всё содержимое файла вычитать именно в объект Stream (а ни в какой нибудь binary array) Буду рад за помощь если можно напишите кусочек кода или оставьте ссылку.
:)
Код:
Является ли твой объект stream ссылкой на файл "my_photo.jpg" или это уже объект содержащий контент файла ?
Спасибо . :)
Цитата: mikhalych
теперь вопрос на добавку уважаемый HardCase
Является ли твой объект stream ссылкой на файл "my_photo.jpg" или это уже объект содержащий контент файла ?
Спасибо . :)
Является ли твой объект stream ссылкой на файл "my_photo.jpg" или это уже объект содержащий контент файла ?
Спасибо . :)
Этот объект содержить хэндл на файл. Чтение из него будет происходить последовательными вызовами Win32 API ReadFile.
Для закачки содержимого файла в память можно воспользоваться классом MemoryStream, например вот так:
Код:
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace ConsoleApplication7 {
class Program {
public static MemoryStream LoadFile(string path) {
using (FileStream stream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.None)) {
byte[] buffer = new byte[4096];
int bytes_read = 0;
MemoryStream result_stream = new MemoryStream((int)stream.Length);
while ((bytes_read = stream.Read(buffer, 0, buffer.Length)) > 0)
result_stream.Write(buffer, 0, bytes_read);
result_stream.Seek(0, SeekOrigin.Begin);
return result_stream;
}
}
static void Main(string[] args) {
using (MemoryStream stream = LoadFile(@"myfile.txt")) {
}
}
}
}
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace ConsoleApplication7 {
class Program {
public static MemoryStream LoadFile(string path) {
using (FileStream stream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.None)) {
byte[] buffer = new byte[4096];
int bytes_read = 0;
MemoryStream result_stream = new MemoryStream((int)stream.Length);
while ((bytes_read = stream.Read(buffer, 0, buffer.Length)) > 0)
result_stream.Write(buffer, 0, bytes_read);
result_stream.Seek(0, SeekOrigin.Begin);
return result_stream;
}
}
static void Main(string[] args) {
using (MemoryStream stream = LoadFile(@"myfile.txt")) {
}
}
}
}
Спасибо Хардкэйс