2016-06-13 11 views
10

Ho cercato di ottenere una demo per MVC 6.0 e scopro che non riesco più a leggere un file utilizzando la classe StreamReader in quanto non accetta più una stringa. codice Così come questoLa nuova classe StreamReader non accetta il nome file

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

non è valido?

Sto usando .NET 1.0 Nucleo

+1

Quale versione di .NET stai rivolge? –

+0

@jonskeet ha aggiornato la domanda con. Net version – Ashutosh

+1

Sei certo che non stai costruendo contro .NET Core? Dovrebbe essere sicuramente lì per il framework desktop. –

risposta

15

Penso che abbiano rimosso come uno StreamReader non dovrebbe essere responsabile della creazione di corsi d'acqua - si tratta di una violazione del principio di responsabilità unico.

Avrai bisogno di creare un FileStream o simile al fine di ottenere la stessa funzionalità

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

o più semplicemente usa 'File.OpenText'. –

+0

Se si utilizza la classe File da System.IO in un progetto .Net Core (ad esempio, per utilizzare File.OpenText), sarà probabilmente necessario specificare "System.IO.File.OpenText" poiché ControllerBase ha anche un Classe file – Coruscate5

+0

O più semplicemente per la scrittura, utilizzare ['File.CreateText'] (https://msdn.microsoft.com/en-us/library/system.io.file.createtext (v = vs.110) .aspx). –

Problemi correlati