Próbuję użyć języka Java, aby odczytać wiersz pliku po wierszu, co jest bardzo proste (istnieje wiele rozwiązań tego problemu na stackoverflow.com), ale zastrzeżenie jest takie, że plik znajduje się na serwerze zdalnym, a nie można uzyskać lokalnej kopii (jest to ogromna kolekcja milionów recenzji Amazon w jednym pliku .txt).Jak korzystać z biblioteki Java JSch do odczytywania zdalnego pliku wiersz po linii?
JSch zawiera dwie przykładowe klasy, które kopiują pliki do iz hostów zdalnych, a mianowicie ScpTo i ScpFrom. Interesuje mnie czytanie pliku ze zdalnej linii hosta po linii; ScpFrom spróbuje skopiować całość do lokalnego pliku, który zajmie całe wieki.
Tu jest link do ScpFrom: http://www.jcraft.com/jsch/examples/ScpFrom.java.html
chciałbym spróbować kulty cargo kod tam, a następnie zmodyfikować go czytać zdalnego pliku linia po linii, zamiast pisać do pliku lokalnego, ale większość kodu jest dla mnie po grecku, gdy autor deklaruje tablicę bajtów i rozpoczyna odczytywanie bajtów ze zdalnego pliku. Przyznaję, że jest to coś, czego prawie nie rozumiem; BufferedReader zapewnia interfejs o znacznie wyższym poziomie. Zasadniczo chcę to zrobić: How to read a large text file line by line using Java?
z wyjątkiem użycia BufferReader, który może również czytać pliki zdalne wiersz po linii, jeśli podano nazwę hosta i poświadczenia użytkownika (hasło itp.), Tj. RemoteBufferReader?
To jest kod testowy, który napisałem; jak czytać w zdalnym pliku linii po linii używając JSCh?
Użyłbym 'cat' (na zdalnym hoście) zamiast' scp'. Następnie po prostu przeczytaj stdout polecenia linia po linii. – Rob
Możesz otworzyć strumień wejściowy przez sftp za pomocą jsch i odczytać tę linię po linii – nablex