programmeringsspråket Java kan du ta en fil som indata genom sin standard bibliotek av klasser och metoder . Även Java har en uppsättning klasser som är specialiserade på text - det är , filer som kan läsas av människor - det inkluderar även primitiver för filer med godtyckliga innehåll . Dessa kallas ibland " binära " filer . Du kan skriva Java-kod som tar innehållet i en binär fil som indata för vidare bearbetning . Instruktioner
1
Tilldela namnet på den fil vars innehåll måste läsas för att en sträng i din Java -program , som i följande exempelkod :
String myFileName = " curcuncho . txt " ,
2
Skapa en ström -fil input som har filen i fråga som källa , som i följande exempelkod :
BufferedInputStream myInput = ny BufferedInputStream ( ny FileInputStream ( myFileName ) ) ;
buffrade inmatningsflödet läser segment av känd storlek från filen inmatningsflödet
3
Skapa en minnesbuffert - med hjälp av primitiva " byte " Java . typ - för att hålla varje segment som den läses från indatafilen , som i följande exempelkod :
byte [ ] myBuffer = new byte [ 2048 ] ;
Ersätt " 2048 " med det antal byte du vill att ditt program att läsa på en gång .
4
iterera över BufferedInputStream du öppnade i steg 2 , genom att läsa på de flesta 2048 bytes i taget i minnet bufferten som i följande exempelkod :
try {
int läsa ,
läsa = myInput.read ( myBuffer , 0,2048 ) ,
samtidigt ( läs > 0 ) {
useReadData ( myBuffer , read ) ,
läs = myInput.read ( myBuffer , 0,2048 ) ,
}
}
äntligen {
myInput.close ( ) ;
}
Byt ut " useReadData ( ) " samtal med vad behandla din ansökan måste tillämpa till filen som läses in i minnet bufferten . Provet koden läser högst 2048 bytes åt gången , antalet byte som samlats in under den senaste filen read lagras i variabeln " läsa . " När biblioteket metoden " BufferedInputStream.read ( ) " returnerar 0 byte i slutet av filen , stänger exempelkod filen .