Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的文件传输无法正常工作_Java_File_File Transfer - Fatal编程技术网

Java中的文件传输无法正常工作

Java中的文件传输无法正常工作,java,file,file-transfer,Java,File,File Transfer,我试图写一个简单的“FTP”程序,但突然发生了一个错误。这是一个有客户端和服务器的网络,服务器存储从客户端上传的文件,也可以从服务器下载文件。但当我上传文件时,它作为一个空文件保存在服务器目录中,有人能帮我找到代码中的错误吗 这是客户 String nameOfFileToUp = fileFromFileChooser.getName(); System.out.println("fileChooserfile name= " + fileFromFileChooser.getName());

我试图写一个简单的“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();

有人能帮忙吗?请

您需要刷新/关闭输出流

另外,您的服务器不应该按“行”读取,它应该读取字节(就像您的客户机代码一样)