0

我试图编写简单的“FTP”程序,但突然出现错误。所以这是一个有客户端和服务器的网络,服务器存储从客户端上传的文件,也有可能从服务器下载文件。但是当我上传文件时它作为一个空文件保存在服务器目录中,有人会帮我找到代码中的错误吗?

这里是客户

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();

其中 pw 是 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();

任何人都可以帮忙吗?请

4

1 回答 1

0

您需要刷新/关闭输出流。

此外,您的服务器不应按“行”读取,而应读取字节(就像您的客户端代码一样)。

于 2013-03-29T14:45:05.570 回答