2013-03-29 1 views
0

Я пытался написать простую программу «FTP», но затем неожиданно возникла ошибка. Таким образом, это сеть с клиентскими и серверными и серверными файлами хранения, загружаемыми с клиента, есть также возможность скачивать файлы с сервера. Но когда я загружаю файл, он сохраняется в директории Server как пустой файл, кто-нибудь поможет мне найти ошибку в коде?Передача файла в Java работает некорректно

Вот клиент

String nameOfFileToUp = fileFromFileChooser.getName(); 
System.out.println("fileChooserfile name= " + fileFromFileChooser.getName()); 
System.out.println("File path= " + fileFromFileChooser.getPath()); 
pw.println(nameOfFileToUp); 
File sendFile = new File(fileFromFileChooser.getPath()); 
FileInputStream fis = new FileInputStream(sendFile); 
int size =(int) fileFromFileChooser.length(); 
byte[] buffer = new byte[size+1]; 
int bytes = 0; 
while((bytes = fis.read(buffer)) != -1) 
{ 
    out.write(buffer,0,bytes); 
} 
fis.close(); 

Где ПВт PrintWriter,

И сервер

FileOutputStream fos = new FileOutputStream(f); 
DataOutputStream dops = new DataOutputStream(fos); 

while(done) 
{ 
    fc = in.readLine(); 
    if(fc == null) 
    { 
     done = false; 
    } 
    else 
    { 
     dops.writeChars(fc); 
    } 
} 
fos.close(); 

Может кто-нибудь помочь? Пожалуйста,

ответ

0

Вам необходимо очистить/закрыть выходной поток.

Кроме того, ваш сервер не должен читать «строка», он должен считывать байты (точно так же, как ваш код клиента).

+0

Большое спасибо! он работает сейчас – Filip

 Смежные вопросы

  • Нет связанных вопросов^_^