Haskell
System.IO module provides hTell funciton, which takes a handle as argument and
return the current position of the handle.
Suppose today.txt contains following data.
Previous
Next
Home
Prelude
System.IO> :t hTell
hTell ::
Handle -> IO Integer
$ cat today.txt There are three layers of the human individual: his physiology, the body; his psychology, the mind; and his being, his eternal self. Love can exist on all the three planes, but its qualities will be different. On the plane of physiology, body, it is simply sexuality. You can call it love, because the word love seems to be poetic, beautiful. But ninety-nine percent of people are calling their sex, love. Sex is biological, physiological. Your chemistry, your hormones – everything material is involved in it…
Following
program read content of today.txt line by line and gives you the position of
file handle.
FileUtil.hs
import System.IO getFileContents fileHandle = do isEofFile <- hIsEOF fileHandle if isEofFile then return () else do info <- hGetLine fileHandle putStrLn info handlePosition <- hTell fileHandle putStrLn $ "Handle Position : " ++ (show handlePosition) getFileContents fileHandle main = do putStrLn "Enter file name (Including full path) to read" fileName <- getLine fileHandle <- openFile fileName ReadMode getFileContents fileHandle hClose fileHandle
$ ghc FileUtil.hs [1 of 1] Compiling Main ( FileUtil.hs, FileUtil.o ) Linking FileUtil ... $ $ ./FileUtil Enter file name (Including full path) to read today.txt There are three layers of the human individual: his physiology, Handle Position : 65 the body; his psychology, the mind; and his being, his eternal self. Handle Position : 135 Love can exist on all the three planes, but its qualities will be different. Handle Position : 213 On the plane of physiology, body, it is simply sexuality. Handle Position : 272 You can call it love, because the word love seems to be poetic, beautiful. Handle Position : 348 But ninety-nine percent of people are calling their sex, love. Handle Position : 411 Sex is biological, physiological. Your chemistry, your hormones – everything material is involved in it… Handle Position : 521
No comments:
Post a Comment