2015-10-05 144 views
2

我有一个包含文件列表的路径。将文件转换为流

foreach (var file in Directory.GetFiles(networkpath)) 
{ 
    Stream s=file. 
} 

我想将文件转换为Stream.How进行下一步?

+0

你需要什么样的流? –

+0

感谢大家的帮助,得到我想要的。 –

回答

2

这是你所需要的?

foreach (var file in Directory.GetFiles(networkpath)) 
{ 
    using (FileStream fs = File.Open(file, FileMode.Open)) 
    { 

    } 
} 
+0

非常感谢您的帮助。 –

0

更改文件路径以适合您的代码!将其添加到循环中!

FileStream fStream = new FileStream(@"c:\file.txt", FileMode.Open); 
try 
{ 
    // read from file or write to file 
} 
finally 
{ 
    fStream.Close(); 
    } 
1

您可以安全地使用C#中的FileStream读取文件。为了确保整个文件被正确读取,您应该在循环中调用FileStream.Read方法,即使在大多数情况下整个文件是在一次调用FileStream.Read方法的情况下读取的。

首先创建FileStream打开文件以供阅读。然后在循环中调用FileStream.Read,直到读取完整个文件。最后关闭流。

using System.IO; 

public static byte[] ReadFile(string filePath) 
{ 
    byte[] buffer; 
    FileStream fileStream = new FileStream(filePath,   FileMode.Open, FileAccess.Read); 
     try 
    { 
     int length = (int)fileStream.Length; // get file length 
     buffer = new byte[length];   // create buffer 
     int count;       // actual number of bytes read 
     int sum = 0;       // total number of bytes read 

     // read until Read method returns 0 (end of the stream has been reached) 
     while ((count = fileStream.Read(buffer, sum, length - sum)) > 0) 
     sum += count; // sum is a buffer offset for next reading 
    } 
    finally 
    { 
     fileStream.Close(); 
    } 
    return buffer; 
}