【问题标题】:File transfer in Java is not working correctlyJava 中的文件传输无法正常工作
【发布时间】:2013-03-29 22:45:05
【问题描述】:

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

这里是客户

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

有人可以帮忙吗?请

【问题讨论】:

    标签: java file file-transfer


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-25
      • 1970-01-01
      • 1970-01-01
      • 2015-11-21
      相关资源
      最近更新 更多