Wiem, że metoda skip(long)
przeskakuje z początkowej pozycji pliku i umieszcza wskaźnik pliku. Ale jeśli chcemy pominąć tylko 20 znaków w środku pliku i pozostałą część pliku do odczytania, co powinniśmy zrobić?Metoda pomijania() w IO java?
Odpowiedz
Powinieneś użyć BufferedReader
. Metoda skip
pomija znaki, a nie bajty.
Aby pominąć 20
znaki z istniejącej FileInputStream
:
BufferedReader reader = new BufferedReader(new InputStreamReader(fileInputStream));
// read what you want here
reader.skip(20);
// read the rest of the file after skipping
Waooo, interesting –
@QuanNguyen - Jako regułę kciuka pamiętaj, że * Strumienie działają na bajty, czytniki/pisarze działają na znakach * – TheLostMind
Pamiętaj, że nawet 'BufferedReader.skip()' niekoniecznie musi robić dokładnie to, co chcesz, jeśli masz postacie spoza [BMP] (https://en.wikipedia.org/wiki/Plane_ (Unicode) #Basic_Multilingual_Plane). – Phylogenesis
mantain licznika.
Pętla wszystkich znaków zwiększających licznik dla każdego odczytu. Kiedy osiągniesz limit licznika odpowiadający początkowi znaków, które chcesz pominąć, pomiń znaki, które chcesz pominąć.
int counter = 0;
while (counter < START_SKIP) {
int x = input.read();
// Do something
}
input.skip(NUM_CHARS_TO_SKIP);
...
// Continue reading the remainings chars
razie potrzeby użyć BufferedReader
poprawić występy jako Tunaki powiedział (lub BufferedInputStream
w zależności od typu pliku czytasz, jeśli plik binarny lub tekst).
- 1. Zależność Macport od pomijania
- 2. Implementacja Java IO unix/linux "tail -f"
- 3. Java IO Performance XOR z 2 plikami
- 4. Metoda ArrayList.toArray() w języku Java
- 5. Metoda limitu czasu w java
- 6. Java: klon naruszenie metoda
- 7. Java metoda przeciążenie - dwuznaczność
- 8. Czy jest to dobra metoda pomijania pamięci podręcznej szablonów w kanciastych?
- 9. io java IOException w stanie przeanalizować odpowiedź od serwera geokodera
- 10. Idiomatic IO ze skalą
- 11. Haskell monada: IO [Double] do [IO Double]
- 12. Filtr IO [Maybe String] na IO [String]
- 13. Konwertuj [IO Int] na IO [Int] w Haskell?
- 14. Metoda kontrolera przeciążenia w Java Spring
- 15. Metoda Referencje jak w Java 8 Scala
- 16. Metoda połączenia po pewnym opóźnieniu w java
- 17. Brakująca metoda w języku Java lub PHP
- 18. Jak działa metoda split() w java?
- 19. Java 8 Boolean.logical lub metoda
- 20. C# równoważne Java Arrays.fill() metoda
- 21. Metoda enum Java do Delphi
- 22. Java 8 domyślna metoda dziedziczenie
- 23. XSLT wezwanie java metoda instancji
- 24. Java override Object equals() metoda
- 25. Java: Ogólna metoda dla Enums
- 26. Metoda Java isLetterOrDigit(), isDigit(), isLetter()
- 27. Java rodzajowe typu metoda odlewania
- 28. Zalecane biblioteki Scala io
- 29. Generics java i metoda addAll
- 30. Java: Metoda nie powraca. (XComponent.dispose
'Pomiń' działa z aktualnej pozycji pliku. Do tekstu użyj czytnika (InputStreamReader łączy bajty binarne z tekstem Java w Unicode). Do buforowania użyj wersji Buffered ~. –