ShowUsYour<Blog>

Irregular expressions regularly

Oft used code: reading from files and urls

Here's some code that I use very regularly to read from files or urls, especially when writing test code that has to read in large chunks of text:

[VB]

   Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       
Dim fileContents As String = ReadFromFile(Server.MapPath("TestFile.txt"
))
       
Dim webPageContents As String = ReadFromUrl("http://weblogs.asp.net/DNeimke"
)

        PlaceHolder1.Controls.
Add(New
LiteralControl(Server.HtmlEncode(fileContents)))
        PlaceHolder2.Controls.
Add(New
LiteralControl(Server.HtmlEncode(webPageContents)))
   
End Sub


   
Public Function ReadFromFile(ByVal filename As String) As String

       
Dim fs As
FileStream = File.OpenRead(filename)
       
Dim sr As StreamReader = New
StreamReader(fs)
        ReadFromFile = sr.ReadToEnd
        sr.Close()
        fs.Close()
   
End Function


   
Public Function ReadFromUrl(ByVal url As String) As String

       
Dim wc As New
WebClient()
       
Dim s As
Stream = wc.OpenRead(url)
       
Dim sr As StreamReader = New
StreamReader(s)
        ReadFromUrl = sr.ReadToEnd
        s.Close()
        wc.Dispose()
   
End Function

[C#]

   private void Page_Load(object sender, System.EventArgs e)
    {
       
string fileContents = ReadFromFile(Server.MapPath("TestFile.txt"
)) ;
       
string webPageContents = ReadFromUrl(@"http://weblogs.asp.net/DNeimke"
) ;

        PlaceHolder1.Controls.Add(
New
LiteralControl(Server.HtmlEncode(fileContents))) ;
        PlaceHolder2.Controls.Add(
New
LiteralControl(Server.HtmlEncode(webPageContents))) ;
    }

   
public string ReadFromFile(string
filename)
    {
        FileStream fs = File.OpenRead(filename)  ;
        StreamReader sr =
new
StreamReader( fs ) ;
       
string
retVal = sr.ReadToEnd() ;
        sr.Close() ;
        fs.Close() ;
       
return
retVal ;
    }

   
public string ReadFromUrl(string
url)
    {
        WebClient wc =
new
WebClient()  ;
        Stream s = wc.OpenRead(url) ;
        StreamReader sr =
new
StreamReader( s ) ;
       
string
retVal = sr.ReadToEnd() ;
        s.Close() ;
        wc.Dispose() ;
       
return
retVal ;
    }

Posted: Sep 12 2003, 11:19 AM by digory | with 2 comment(s)
Filed under: , ,

Comments

Paul Wilson said:

Just say NO to code without proper resource cleanup:

public string ReadFromFile(string filename)
{
string retval = "";
FileStream fs = null;
StreamReader sr = null;
try {
fs = File.OpenRead(filename);
sr = new StreamReader(fs);
retVal = sr.ReadToEnd();
}
finally {
if (sr != null) { sr.Close(); }
if (fs != null) { fs.Close(); }
}
return retVal ;
}
# September 11, 2003 8:59 PM

Thomas Johansen said:

Why not simply something like this?:

using (FileStream fs = File.OpenRead(filename))
{
StreamReader sr = new StreamReader(fs);
retVal = sr.ReadToEnd();
}
return retVal;
# September 12, 2003 11:47 PM
Leave a Comment

(required) 

(required) 

(optional)

(required)