我目前正在做一个家庭作业任务,并且我被彻底卡住了。我在最后一个问题上,我无法弄清楚如何去完成最后的任务。下面是我必须完成的任务:如何在客户端/服务器Java应用程序中传输文件
客户端应该 将文件保存在“客户端” 子目录的主目录。
测试你的程序。确保它与二进制文件一起工作 ,而不仅仅是文本 文件。当 程序与 位于同一台机器上时,以及当它们通过网络上的 分隔时,请确保它正常工作。
至此,当我启动服务器时,它会询问我要使用哪个端口。然后我启动客户端并询问要使用哪个IP和端口。服务器立即发送主目录“server”文件夹中的文件列表。然后,我与客户一起回复我希望下载的文件编号。这是我卡住的地方。我似乎无法找到任何有关如何做到这一点的信息。正如你可以在我的代码下面看到的,我正在尝试使用FileInputReader将文件转换为字节数组。然后我将它发送给客户。然后我尝试将FileOutputReader接收到的字节数组转换为文件。但我似乎无法找到正确的方法来做到这一点,或者即使我正确地做到了这一点。
CLIENT
int i = 0;
while(i < 1000){
String modifiedSentence = inFromServer.readLine();
System.out.println("From Server: " + modifiedSentence);
i++;
}
while(j < 1000) {
int byteString = inFromServer.read();
ArrayList<byte[]> bytes = new ArrayList<byte[]>();
bytes.add(byteString);
}
Integer byteInt = new Integer(byteString);
FileOutputStream fo = new FileOutputStream(System.getProperty("user.home")+ "/client/text.txt");
fo.write(byteInt.byteValue());
}
}
服务器
byte[] bytes = new byte[1024];
FileInputStream fi = new FileInputStream(file.toString() + fileArray[userChoiceInt]);
fi.read(bytes, 0, 1024);
outToClient.write(bytes, 0, 1024);
}
}
}
如果有人可以提供任何意见或正确的类或使用我将不胜感激方法。
预先感谢您。
由于这是作业,你允许使用第三方库吗?您基本上重新创建FTP,在Java中存在有用的FTP库。 – BalusC 2010-09-25 17:33:58
是的,你是正确的,我不能使用任何第三方库。 :( – 2010-09-26 00:57:47