Notions de base - lecture/écriture de fichiers distants à l'aide de Java

J'ai commencé avec l'exigence de la lecture et de l'écriture de fichiers à partir de/dans un répertoire à distance sur une machine Ubuntu.

Tout d'abord, j'ai écrit un programme en Java qui pourraient lire,d'écrire des fichiers à partir d'un dossier partagé sur un ordinateur Windows distant j'.e sur un réseau local. Ici, quelque chose comme cela fonctionne sur mon(local) d'une machine Windows :

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

Maintenant quand je pense à distance une machine Ubuntu, évidemment je ne peux pas faire quelque chose comme ce que la machine n'est pas sur le réseau local(je ne suis pas sûr si cela peut être fait, même si c'est sur le LAN!). Donc, j'ai essayé une des approches suivantes :

  1. À l'aide de Jsch, l'établissement de la confiance entre les deux machines(local - distant Linux , Linux à distance - distance Linux) et écriture dans un fichier en utilisant le protocole sftp.(fait)
  2. L'exécution de prises de courant sur les deux machines: un émetteur, un récepteur(Java)(fait)
  3. Essayant d'atteindre des I/O comme l'extrait de code pour Windows (LAN) machines(non atteint)

Tout en faisant toutes ces choses, j'ai eu beaucoup de requêtes, de lire de nombreux messages, etc. et j'ai senti qu'il me manque quelque chose sur les fondamentaux :

  • Une sorte de renforcement de la confiance(entre les deux machines) utilitaire sera nécessaire pour atteindre IO. Mais enfin, je veux écrire un code comme dans l'extrait donné, indépendamment de la machine, réseau, etc.
  • La Jsch solution et d'autres ont suggéré(utilisation de http, ftp, etc. au cours de l'URL) enfin utilisez certains des services qui sont en cours d'exécution sur la machine distante. En d'autres termes, ce n'est PAS QUE Java IO est utilisé pour accéder au système de fichiers à distance - ce qui ne fait pas appel à moi comme je suis en s'appuyant sur les services plutôt que d'utiliser le bon vieux I/O.
  • Samba, SSHFS trop sauté sur la scène, uniquement pour l'ajouter à ma confusion. Mais je ne les vois pas comme des solutions à mon objectif !

De réitérer, je veux écrire un code à l'aide de Java I/O(la plaine ou nio, les deux sont très bien) qui ne peuvent tout simplement de lire, d'écrire des fichiers à distance, sans utilisation de services sur des protocoles comme le ftp, http, etc. ou de la prise émetteur-récepteur modèle. C'est mon attente est-elle valide?

  • Si non, pourquoi et quel est le mieux que je puisse faire pour lire/écrire des fichiers à distance
    à l'aide de Java?
  • Si oui, comment atteindre le même !

P. S : s'il vous Plaît commentaire dans le cas où j'ai besoin d'élaborer de poser ma question avec précision !

Je ne suis pas sûr que cela va aider, mais vous pouvez prendre un coup d'oeil à Apache VFS
Java est dépendante à un certain niveau sur le système d'exploitation pour faire l'OI - même le bon vieux IO utilise ces - ainsi, un peu moins clair, ce que votre question met l'accent sur.
J'ai vérifié, mais je ne pense pas que mon exigence a rien à faire avec le fichier "type"; en outre, il prend en charge la lecture des fichiers via FTP,SFTP,HTTPS, etc. ce que je ne souhaite pas utiliser. Merci et salutations !
Je veux exécuter du code Java sur la Machine1, ce qui crée un java.io.Objet de fichier pointant vers un fichier sur Machine2. Quelques possibilités : 1. Machine1 et Machine2 peut être Windows-Linux, Windows-Windows, Linux-Linux 2. Peut être sur des réseaux différents(pas nécessairement sur le LAN)
Je pense que votre mieux, hors de la boîte, solution, si vous ne voulez pas télécharger le fichier localement est une sorte de partage réseau, quelque chose comme smb

OriginalL'auteur Kaliyug Antagonist | 2012-09-27