Envoyer des fichier au serveur

Fermé
adamsjilal Messages postés 46 Date d'inscription lundi 14 mars 2016 Statut Membre Dernière intervention 29 avril 2018 - 20 févr. 2017 à 16:14
Bonjour,
en faite voila j'ai une appliction chate de java avec le socket, du coup j'ai bien fait la partie communication et le chate et de plus de voulais integrer une partie pour pouvoir envoyer des fichier au serveur. BON le probleme je suis en train de confondre le flux c'est quand envoyer des chaine de caratere lors de l'envoie des fichier. je m'explique: le client se connecte au serveur et commence a chater, et en parallele lui peut enovoyer des fichier en direction du serveur et tout ça j'utilise le GUI avec des interface graphique. les communication se passe bien mais les clients envoient des fichier vide.sans contenu. SVP je veux que vous m'aidez!! a faire fonctionner l'envoie des fichier.merci.
voila le client
try {
File file = new File(lbpath.getText());
byte[] b = new byte[16 * 1024];
in = new FileInputStream(file);
out= sock.getOutputStream();
int compteur;
while ((compteur = in.read(b)) > 0) {
out.write(b, 0, compteur);
}
// lbpath.setText("");
} catch (Exception ex) {
ex.printStackTrace();
}

le serveur
      
@Override
public void run() {
clientOutputStreams = new ArrayList();
users = new ArrayList();

try {
ServerSocket serverSock = new ServerSocket(2222);

while (true) {
Socket clientSock = serverSock.accept();
PrintWriter writer = new PrintWriter(clientSock.getOutputStream());
clientOutputStreams.add(writer);

Thread listener = new Thread(new ClientHandler(clientSock, writer));
listener.start();
ta_chat.append("Connecter avec succes. \n");
}
} catch (Exception ex) {
ta_chat.append("erreur se produit lors de tentative du connection. \n");
}
}

et enfin le client Handler
   client = user;
try {
sock = clientSocket;
in = sock.getInputStream();
//int1 = sock.getInputStream();
InputStreamReader isReader = new InputStreamReader(in);
reader = new BufferedReader(isReader);
outputFILE = new FileOutputStream("C:\\Users\\ismas\\Documents\\san.txt");
byte[] b = new byte[16 * 1024];
int compteur;
while ((compteur = in.read(b)) > 0) {
outputFILE.write(b, 0, compteur);
}

} catch (Exception ex) {
ta_chat.append("Unexpected error... \n");
}

je vous remercie encor en avance...
A voir également: