2016-06-13 5 views
10

MVC 6.0 için bir demo almaya çalışıyordum ve artık bir dosya kabul etmediğim için artık StreamReader sınıfını kullanarak bir dosya okuyamıyorum. BuYeni StreamReader sınıfı dosya adını kabul etmiyor

StreamReader reader= new StreamReader("filename.txt") 

gibi Yani kod geçerli değil? o Tek Sorumluluk İlkesi ihlali var -

ben StreamReader akışı yaratmak sorumlu olmamalı olarak bunu kaldırdık düşünüyorum .NET Çekirdek 1.0

+1

hedeflediğiniz .NET hangi sürümü almak için benzer? –

+0

@jonskeet, ile bu sorunu güncelledi. Net sürüm – Ashutosh

+1

.NET Core'a karşı oluşturduğunuzdan emin misiniz? Masaüstü çerçevesi için kesinlikle orada olmalı. –

cevap

15

kullanıyorum.

oluşturmak gerekir bir FileStream veya aynı işlevi

using (var stream = new FileStream(@"C:\temp\test.txt", FileMode.Open)) 
using (var reader = new StreamReader(stream)) 
{ 
    // do stuff. 
} 
+4

güncelledi Veya daha basitçe, 'File.OpenText' kullanın. –

+0

Dosya sınıfını System.IO'dan bir .Net Core projesinde (örneğin, File.OpenText'i kullanmak için) kullanırsanız, ayrıca ControllerBase'in ayrıca bir "System.IO.File.OpenText" belirtmesi gerekir. Dosya sınıfı – Coruscate5

+0

Veya daha basitçe yazmak için ['File.CreateText'] kullanın (https://msdn.microsoft.com/en-us/library/system.io.file.createtext (v = vs.110) .aspx). –