How to read byte array from file in Haskell?





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







2















When I want read bytes from a file in Java, I can do like this:



InputStream is = new FileInputStream(...);
while((int b = is.read()) != -1){
//...analysis the bytes.
}


And how do it in Haskell? I don't see any function witch can read bytes module System.IO and Data.ByteString.










share|improve this question


















  • 1





    stackage.org/haddock/lts-12.8/bytestring-0.10.8.2/…

    – Sibi
    Jan 3 at 5:36


















2















When I want read bytes from a file in Java, I can do like this:



InputStream is = new FileInputStream(...);
while((int b = is.read()) != -1){
//...analysis the bytes.
}


And how do it in Haskell? I don't see any function witch can read bytes module System.IO and Data.ByteString.










share|improve this question


















  • 1





    stackage.org/haddock/lts-12.8/bytestring-0.10.8.2/…

    – Sibi
    Jan 3 at 5:36














2












2








2








When I want read bytes from a file in Java, I can do like this:



InputStream is = new FileInputStream(...);
while((int b = is.read()) != -1){
//...analysis the bytes.
}


And how do it in Haskell? I don't see any function witch can read bytes module System.IO and Data.ByteString.










share|improve this question














When I want read bytes from a file in Java, I can do like this:



InputStream is = new FileInputStream(...);
while((int b = is.read()) != -1){
//...analysis the bytes.
}


And how do it in Haskell? I don't see any function witch can read bytes module System.IO and Data.ByteString.







haskell






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Jan 3 at 5:34









Jacky WongJacky Wong

909




909








  • 1





    stackage.org/haddock/lts-12.8/bytestring-0.10.8.2/…

    – Sibi
    Jan 3 at 5:36














  • 1





    stackage.org/haddock/lts-12.8/bytestring-0.10.8.2/…

    – Sibi
    Jan 3 at 5:36








1




1





stackage.org/haddock/lts-12.8/bytestring-0.10.8.2/…

– Sibi
Jan 3 at 5:36





stackage.org/haddock/lts-12.8/bytestring-0.10.8.2/…

– Sibi
Jan 3 at 5:36












1 Answer
1






active

oldest

votes


















1














Use readFile



import Data.ByteString(readFile)

main = do
content <- Data.ByteString.readFile "path/to/file"
print content


It read the file and print it content on screen.






share|improve this answer


























  • Yes, I know this, but it reads String from a file.

    – Jacky Wong
    Jan 3 at 5:47






  • 1





    It read ByteString which is in fact array of Word8 which is smart way to name byte.

    – talex
    Jan 3 at 5:49











  • So you mean I don't need to import ByteString to read Word8 which like Byte in Java ?

    – Jacky Wong
    Jan 3 at 5:53











  • Easiest way to check that is to try, but yes, you don't need to import it.

    – talex
    Jan 3 at 5:57











  • @talex the readFile in prelude reads into a String. It appears the question asker wants to read into bytes rather then characters. I think ByteString is the correct thing for that.

    – Potato44
    Jan 3 at 6:20














Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54016841%2fhow-to-read-byte-array-from-file-in-haskell%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









1














Use readFile



import Data.ByteString(readFile)

main = do
content <- Data.ByteString.readFile "path/to/file"
print content


It read the file and print it content on screen.






share|improve this answer


























  • Yes, I know this, but it reads String from a file.

    – Jacky Wong
    Jan 3 at 5:47






  • 1





    It read ByteString which is in fact array of Word8 which is smart way to name byte.

    – talex
    Jan 3 at 5:49











  • So you mean I don't need to import ByteString to read Word8 which like Byte in Java ?

    – Jacky Wong
    Jan 3 at 5:53











  • Easiest way to check that is to try, but yes, you don't need to import it.

    – talex
    Jan 3 at 5:57











  • @talex the readFile in prelude reads into a String. It appears the question asker wants to read into bytes rather then characters. I think ByteString is the correct thing for that.

    – Potato44
    Jan 3 at 6:20


















1














Use readFile



import Data.ByteString(readFile)

main = do
content <- Data.ByteString.readFile "path/to/file"
print content


It read the file and print it content on screen.






share|improve this answer


























  • Yes, I know this, but it reads String from a file.

    – Jacky Wong
    Jan 3 at 5:47






  • 1





    It read ByteString which is in fact array of Word8 which is smart way to name byte.

    – talex
    Jan 3 at 5:49











  • So you mean I don't need to import ByteString to read Word8 which like Byte in Java ?

    – Jacky Wong
    Jan 3 at 5:53











  • Easiest way to check that is to try, but yes, you don't need to import it.

    – talex
    Jan 3 at 5:57











  • @talex the readFile in prelude reads into a String. It appears the question asker wants to read into bytes rather then characters. I think ByteString is the correct thing for that.

    – Potato44
    Jan 3 at 6:20
















1












1








1







Use readFile



import Data.ByteString(readFile)

main = do
content <- Data.ByteString.readFile "path/to/file"
print content


It read the file and print it content on screen.






share|improve this answer















Use readFile



import Data.ByteString(readFile)

main = do
content <- Data.ByteString.readFile "path/to/file"
print content


It read the file and print it content on screen.







share|improve this answer














share|improve this answer



share|improve this answer








edited Jan 3 at 6:25

























answered Jan 3 at 5:44









talextalex

11.9k11749




11.9k11749













  • Yes, I know this, but it reads String from a file.

    – Jacky Wong
    Jan 3 at 5:47






  • 1





    It read ByteString which is in fact array of Word8 which is smart way to name byte.

    – talex
    Jan 3 at 5:49











  • So you mean I don't need to import ByteString to read Word8 which like Byte in Java ?

    – Jacky Wong
    Jan 3 at 5:53











  • Easiest way to check that is to try, but yes, you don't need to import it.

    – talex
    Jan 3 at 5:57











  • @talex the readFile in prelude reads into a String. It appears the question asker wants to read into bytes rather then characters. I think ByteString is the correct thing for that.

    – Potato44
    Jan 3 at 6:20





















  • Yes, I know this, but it reads String from a file.

    – Jacky Wong
    Jan 3 at 5:47






  • 1





    It read ByteString which is in fact array of Word8 which is smart way to name byte.

    – talex
    Jan 3 at 5:49











  • So you mean I don't need to import ByteString to read Word8 which like Byte in Java ?

    – Jacky Wong
    Jan 3 at 5:53











  • Easiest way to check that is to try, but yes, you don't need to import it.

    – talex
    Jan 3 at 5:57











  • @talex the readFile in prelude reads into a String. It appears the question asker wants to read into bytes rather then characters. I think ByteString is the correct thing for that.

    – Potato44
    Jan 3 at 6:20



















Yes, I know this, but it reads String from a file.

– Jacky Wong
Jan 3 at 5:47





Yes, I know this, but it reads String from a file.

– Jacky Wong
Jan 3 at 5:47




1




1





It read ByteString which is in fact array of Word8 which is smart way to name byte.

– talex
Jan 3 at 5:49





It read ByteString which is in fact array of Word8 which is smart way to name byte.

– talex
Jan 3 at 5:49













So you mean I don't need to import ByteString to read Word8 which like Byte in Java ?

– Jacky Wong
Jan 3 at 5:53





So you mean I don't need to import ByteString to read Word8 which like Byte in Java ?

– Jacky Wong
Jan 3 at 5:53













Easiest way to check that is to try, but yes, you don't need to import it.

– talex
Jan 3 at 5:57





Easiest way to check that is to try, but yes, you don't need to import it.

– talex
Jan 3 at 5:57













@talex the readFile in prelude reads into a String. It appears the question asker wants to read into bytes rather then characters. I think ByteString is the correct thing for that.

– Potato44
Jan 3 at 6:20







@talex the readFile in prelude reads into a String. It appears the question asker wants to read into bytes rather then characters. I think ByteString is the correct thing for that.

– Potato44
Jan 3 at 6:20






















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54016841%2fhow-to-read-byte-array-from-file-in-haskell%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

MongoDB - Not Authorized To Execute Command

How to fix TextFormField cause rebuild widget in Flutter

in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith