Podstawy - czytanie / zapisywanie zdalnych plików przy użyciu Java

Zacząłem od wymagania odczytu i zapisu plików z / w katalogu na zdalnej maszynie Ubuntu.

Najpierw napisałem program Java, który mógł czytać, zapisywać pliki z udostępnionego folderu na zdalnym komputerze z systemem Windows, np. W sieci LAN. Tutaj coś takiego działa na moim (lokalnym) komputerze z systemem Windows:

File inputFile = new File(
                "\\172.17.89.76\EBook PDF");/*ignore the syntax errors, the loc is just for the idea*/

Teraz, kiedy rozważam zdalną maszynę Ubuntu, oczywiście nie mogę zrobić czegoś takiego, ponieważ komputer nie jest w sieci LAN (Nie jestem pewien, czy można to zrobić, nawet jeśli jest w sieci LAN!). Dlatego wypróbowałem następujące podejścia:

Używanie Jscha, ustanawianie zaufania między dwiema maszynami (lokalna - zdalny Linux, zdalny Linux - zdalny Linux) i zapisywanie plików za pomocą sftp. (Gotowe)Uruchamianie gniazd na dwóch maszynach - jeden nadawca, jeden odbiornik (oba Java) (gotowe)Próba osiągnięcia we / wy analogicznego fragmentu kodu dla komputerów z systemem Windows (LAN) (nieosiągnięta)

Wykonując te wszystkie czynności, miałem wiele zapytań, przeczytałem wiele postów itp. I czułem, że brakuje mi pewnych podstaw:

Do osiągnięcia IO wymagane będzie jakieś narzędzie do budowania zaufania (między dwoma maszynami). Ale w końcu chcę napisać kod podobny do podanego fragmentu, niezależnie od maszyn, sieci itp.Rozwiązanie Jsch i inne sugerowane (użycie http, ftp itp. Nad URL) w końcu używają niektórych usług, które działają na zdalnym komputerze. Innymi słowy, NIE JEST TO, że Java IO jest używane do uzyskiwania dostępu do zdalnego systemu plików - nie jest to dla mnie atrakcyjne, ponieważ polegam na usługach, a nie na dobrych I / O.Samba, SSHFS też pojawiła się na scenie, tylko po to, by dodać do niej zamieszania. Ale nie uważam ich za rozwiązania mojego celu!

Powtarzać,Chcę napisać kod za pomocą Java I / O (albo zwykłego, albo nio, oba są w porządku), które po prostu mogą czytać, zapisywać zdalne pliki bez korzystania z usług przez protokoły takie jak ftp, http itp. Lub model nadawcy-odbiorcy gniazda. Czy moje oczekiwania są ważne?

Jeśli nie, dlaczego i co mogę zrobić, aby odczytać / napisać zdalne pliki przy użyciu Java?Jeśli tak, jak osiągnąć to samo!

P.S: Proszę skomentować na wypadek, gdy muszę szczegółowo wyjaśnić moje pytanie!

questionAnswers(5)

yourAnswerToTheQuestion