【发布时间】:2023-03-14 05:08:01
【问题描述】:
我目前正在做家庭作业,我完全陷入困境。我在最后一个问题上,我只是不知道如何完成最后一项任务。以下是我必须完成的任务:
客户端应该 将文件保存在“客户端”中 主目录的子目录。
测试您的程序。确保它有效 二进制文件,而不仅仅是文本 文件。确保两者都有效 程序在同一台机器上 以及当他们分开时 网络。
到目前为止,当我启动服务器时,它会询问我要使用的端口。然后我启动客户端,它会询问要使用的 IP 和端口。服务器立即发送主目录“服务器”文件夹中的文件列表。然后我用我希望下载的文件号回复客户。这就是我卡住的地方。我似乎找不到任何有关如何执行此操作的信息。因此,正如您在下面发布的代码中看到的那样,我正在尝试使用 FileInputReader 将文件转换为字节数组。然后我将其发送给客户。然后我尝试将 FileOutputReader 接收到的字节数组写入文件。但我似乎找不到正确的方法来做到这一点,或者即使我做得正确。
客户
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 库。
-
是的,你是对的,我不能使用任何第三方库。 :(
标签: java sockets network-programming client-server