C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML
Use: This keyword ensures the StreamReader is correctly disposed of when it is no longer needed.
While: We use a while-loop to continue iterating over the lines in the file while they can be read. We read all the lines and print them.
ForF# program that uses StreamReader, System.IO
open System.IO
type Data() =
member x.Read() =
// Read in a file with StreamReader.
use stream = new StreamReader @"C:\programs\file.txt"
// Continue reading while valid lines.
let mutable valid = true
while (valid) do
let line = stream.ReadLine()
if (line = null) then
valid <- false
else
// Display line.
printfn "%A" line
// Create instance of Data and Read in the file.
let data = Data()
data.Read()
Contents of file.txt:
carrot
squash
yam
onion
tomato
Output
"carrot"
"squash"
"yam"
"onion"
"tomato"
Here: We use Seq.toList to get a list from the array. And with Seq.where we get a sequence of only capitalized lines in the list.
F# program that uses File.ReadAllLines, Seq.toList
open System
open System.IO
let lines = File.ReadAllLines(@"C:\programs\file.txt")
// Convert file lines into a list.
let list = Seq.toList lines
printfn "%A" list
// Get sequence of only capitalized lines in list.
let uppercase = Seq.where (fun (n : String) -> Char.IsUpper(n, 0)) list
printfn "%A" uppercase
Contents of file.txt:
ABC
abc
Cat
Dog
bird
fish
Output
["ABC"; "abc"; "Cat"; "Dog"; "bird"; "fish"]
seq ["ABC"; "Cat"; "Dog"]