Copie fichier de machine windows vers linux

[Résolu]
Signaler
Messages postés
129
Date d'inscription
jeudi 30 mars 2006
Statut
Membre
Dernière intervention
2 décembre 2012
-
Messages postés
129
Date d'inscription
jeudi 30 mars 2006
Statut
Membre
Dernière intervention
2 décembre 2012
-
bonjour

j'ai deux machines windows et linux connecte en reseau,je veux copier
un fichier existant sous ma machine windows de mon application java
vers machine linux.

Comment je proccede?? et quelle est la commande a utiliser

Merci pour vous aides

15 réponses

Messages postés
744
Date d'inscription
dimanche 1 avril 2007
Statut
Membre
Dernière intervention
9 mai 2010
8
Tes machines windows tu les as monté quelque par? (exemple : /mnt/Windows1 ... )
C'est après des heures de codage que j'ai compris pourquoi les mecs de Java ont choisi une tasse de café comme logo!
Messages postés
129
Date d'inscription
jeudi 30 mars 2006
Statut
Membre
Dernière intervention
2 décembre 2012

c'est a dire qoui mnt je ne parle pas sous linux??
deux machine differentes connecte en reseau :
 Machine1 linux
Machine2  windows contient application java son role doit etre copier un fichier de machine2 vers machine1(linux)
comment je proccede??...
Messages postés
744
Date d'inscription
dimanche 1 avril 2007
Statut
Membre
Dernière intervention
9 mai 2010
8
Ben en fait mon idée, c'était de passer par la classe File, mais File ne marche qu'avec des fichiers locals (pas sur un réseau)
Exception faites de Windows. En effet, sous windows, tu peux créer un fichier du style "\\nom_du_serveur\dossier\..." mais bon sur Linux les '\' ne marcheront évidemment pas.
Ensuite, tu peux essayer via FTP, mais bon tu risques de pas mal galérer.
Maintenant, est ce que ton code doit être portable? C'est à dire que tu vas faire tourner le programme sous Windows et aussi sous Linux, ou pas?
C'est après des heures de codage que j'ai compris pourquoi les mecs de Java ont choisi une tasse de café comme logo!
Messages postés
129
Date d'inscription
jeudi 30 mars 2006
Statut
Membre
Dernière intervention
2 décembre 2012

oui c'est ca mon code vas  tourner sous Windows et aussi sous Linux
oui pas file car linux ne comprend pas \
pas ftp car c'est un simple fichier pas de grande taille pour nessetier ftp
 mais qoui?? ya une solution
Messages postés
332
Date d'inscription
mardi 12 juillet 2005
Statut
Membre
Dernière intervention
17 juillet 2010

Salut,
Pourrait tu éclaircir le problème pour moi ?
Que ce soit sous linux ou windows ton application fonctionne de la même manière, et l'utilisation des sockets est identique, donc tu peux utiliser une appli serveur sur ton pc sous linux, et une client sur ton pc sous windows.
Sinon tu veux peut être ne pas lancer d'appli sous linux ?
Dans ce cas, d'habitude comment transfert tu tes fichiers d'un ordi à l'autre ?
Samba est il installer sur ton pc sous linux ? -> Si c'est la cas, il doit falloir faire comme pour un partage sous windows (mais je ne sais pas comment, je n'ai jamais cherché à le faire)
Messages postés
332
Date d'inscription
mardi 12 juillet 2005
Statut
Membre
Dernière intervention
17 juillet 2010

Encore moi, sinon comme protocole assez simple de transfert de fichier, il y a tftp (pour trivial ftp), tu dois pouvoir de la doc et même du code java qui l'implemente sur google.
Voilà, bon courage
Messages postés
744
Date d'inscription
dimanche 1 avril 2007
Statut
Membre
Dernière intervention
9 mai 2010
8
Moi j'avais à faire un programme sous Linux un peu pareil. Il fallait que j'aille voir un dossier sur le réseau et que je liste tout son contenu (un dossier était représenté par une image dossier, on cliquait dessus et ca se déroulait...). Par File, on peut pas parce que même en mettant un truc genre "file://ip_serveur/dossier", il y a une fonction dans file qui enleve tous les doublons de '/' donc tu peux mettre 40 '/' a coté il en restera toujours que un à la fin (ça me donnait ce chemin -> file:/ip_serveur/dossier).
La seule solution que j'ai trouvé, c'est de monté les serveurs manuellement sur ma machine Linux (mnt -t smbfs ... ) et d'y accéder avec File (file:/mnt/serveur/dossier).
Si ça peut t'aider...
C'est après des heures de codage que j'ai compris pourquoi les mecs de Java ont choisi une tasse de café comme logo!
Messages postés
5365
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
12 août 2021
111
Salut,

pourquoi ne pas utiliser l'api ganymed qui gère le scp et sftp ansi pour copier ton fichier sous nunux tu peux le faire le plus simplement du monde en activant le serveur ssh dessus (voir sur un autre port que 22 si la machine touche le reseau public et ainsi eviter les attaques). et le jour ou tu veux faire l'inverse tu peux installer un serveur ssh sous windows...

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
Messages postés
129
Date d'inscription
jeudi 30 mars 2006
Statut
Membre
Dernière intervention
2 décembre 2012

ici pour la copie je dois ouvrir un port puis j'envoi si ok je ferme ce port pour qu'il ne sera pas piratés c'est a dire va durée quelques minute mais les num port sont de 1 à 65635 quel plage j'utilise??

j'ai un serveur openssh installe sous ma machine .
Bon la question qui me bloque est ce que je dois creer une classe qui ouvre connection avec unix distant puis je dois appeller la classe SCPclient qui se trouve sous ganymed et elle va vraiment realiser la copie entre 2 machine pas dans meme platefome???
Messages postés
5365
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
12 août 2021
111
Salut,

sous linux evite de monopoliser un port compris entre 1 et 1024 ils sont réservé pour le system (de plus faut etre root pour ce binder dessus).

pour ce qui est de SCP il n'ya a pas de blèmes tu peux envoyer et recevoir des fichiers linux<->windows, windows<->linux, windows<->windows et linux<->linux

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
Messages postés
129
Date d'inscription
jeudi 30 mars 2006
Statut
Membre
Dernière intervention
2 décembre 2012

ok merci pour votre aide et explication j'ai juste une question vous avez dit windows<->windows ici ces deux machines doivent avoir un serveur ssh ou l'une seul sitout
ici lorsque on dit mahine windows possede un serveur opensshd, c'est a dire installe et demarer et est ce que elle doit ajouter dans sa configuration le user et son mot de passe pour le local :
  mkgroup -l >> ..\etc\group      (local groups)
et a distance
      mkgroup -d >> ..\etc\group      (domain groups)
Merci
Messages postés
5365
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
12 août 2021
111
Salut,

en gros on admet les machines windows A et B.
si tu veux transferer des fichier de A vers B seul B doit avoir un serveur ssh (qui fonctionne)
si tu veux transferer des fichier de B vers A seul A doit avoir un serveur ssh (qui fonctionne)
si tu veux transferer des fichier de A vers B et reciproquement les machines A et B doivent avoir un serveur ssh (qui fonctionne)

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
Messages postés
129
Date d'inscription
jeudi 30 mars 2006
Statut
Membre
Dernière intervention
2 décembre 2012

ok merci pour votre simple explication,
Bon il reste maintenant comment bien configurer notre window serveur ssh est ce que comme unix on doit avoir un nom et mot de passe??
j'ai lu readme de opensshd il ya deux choses:(local groups) et (domain groups)
quel est la difference entre eux??
Merci vous etes tres gentil
Messages postés
5365
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
12 août 2021
111
Salut,

je ne sais pas je n'ai pas windows

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
Messages postés
129
Date d'inscription
jeudi 30 mars 2006
Statut
Membre
Dernière intervention
2 décembre 2012

ok merci merci merci a l'infini  pour votre aide vraiment je ne sais pas comment vous remercier