2010-01-07 8 views
4

J'ai trouvé cette code sorcière que j'ai essayé et ça marche super mais (!). Je veux stocker le dossier dans un dossier que je choisirai et l'obtiens également d'un dossier que je choisirai encore. Puisque l'expéditeur obtient un argument alors je suppose que si je donne un argument comme /home/user/test.txt alors c'est ok et ça marchera bien mais je ne sais pas comment stocker le fichier dans un dossier spécifique (la partie Serveur en d'autres termes). Des idées?Transférer le fichier sur la prise

Si je me trompe l'argument s'il vous plaît par tous les moyens me corriger: D

PS: Il fonctionne très bien pour le dossier par défaut de Netbeans (pas de spécification du dossier pour l'expéditeur ou le serveur).

Toute aide appréciée.

Répondre

5

Franchement, si je me sens mal à faire vos devoirs, je suis juste dans une bonne humeur :)

Dans le code ci-dessous (FileReciever) j'ai ajouté un nouveau dossier variable qui est initalized du premier argument passé à main(). Donc, le nom du dossier dans lequel vous voulez sauvegarder le fichier doit être passé comme premier argument. La seule autre ligne que j'ai changé est: File file = new Fichier (dossier, nom_fichier);

private String folder = ""; 
public static void main(String[] args) { 
try { 
    folder = args[0]; 
    ServerSocket listener = new ServerSocket(port); 

    while (true) { 
    FileReceiver file_rec = new FileReceiver(); 
    file_rec.socket = listener.accept(); 

    new Thread(file_rec).start(); 
    } 
} 
catch (java.lang.Exception ex) { 
    ex.printStackTrace(System.out); 
} 

}

public void run() { 
    try { 
     InputStream in = socket.getInputStream(); 


    int nof_files = ByteStream.toInt(in); 

    for (int cur_file=0;cur_file < nof_files; cur_file++) { 
    String file_name = ByteStream.toString(in); 

    File file=new File(folder, file_name); 

    ByteStream.toFile(in, file); 
    } 
} 
catch (java.lang.Exception ex) { 
    ex.printStackTrace(System.out); 
} 

}

+0

Merci beaucoup. Eh bien, la pensée est que c'est pour un devoir mais est une petite partie de celui-ci et j'ai demandé parce que dans le passé j'ai toujours eu des problèmes avec les chemins de dossier, donc je m'attends à quelque chose comme ByteStren.toFile (folfer + fichier); mais tu sais ... celui que ça va marcher. Je ne connaissais pas la documentation du fichier java.io.file. Une autre question. Il semble que l'expéditeur n'envoie d'aucun dossier mais seulement le dossier par défaut. Est-ce que tu sais pourquoi? Je donne comme argument /home/user/test.txt et il n'y a pas d'erreur mais ne fonctionne toujours pas. Des idées? J'apprécie et merci. – storedope

Questions connexes