gpt4 book ai didi

java - 通过套接字传输文件

转载 作者:搜寻专家 更新时间:2023-11-01 02:34:30 25 4
gpt4 key购买 nike

我找到了这个 code女巫我试过了,效果很好但是(!)。我想将文件存储在我将选择的文件夹中,并从我再次选择的文件夹中获取它。由于发件人得到一个参数,那么我想如果我给出一个像/home/user/test.txt 这样的参数,那没关系,它会很好地工作,但我不知道如何将文件存储到特定文件夹(换句话说,服务器部分)。有任何想法吗?

如果我的观点有误,请务必纠正我 :D

PS:它适用于 Netbeans 的默认文件夹(没有指定发件人或服务器的文件夹)。

感谢任何帮助。

最佳答案

坦白说,虽然我觉得做你的作业很糟糕,但我只是心情不错:)

在下面的代码(FileReciever)中,我添加了一个新的变量文件夹,它是从传递给 main() 的第一个参数开始初始化的。所以你想要保存文件的文件夹的名称必须作为第一个参数传递。我唯一改变的另一行是:文件 file=new File(文件夹, 文件名);

private String folder = "";
public static void main(String[] args) {
try {
folder = args[0];
ServerSocket listener = new ServerSocket(port);

while (true) {
FileReceiver file_rec = new FileReceiver();
file_rec.socket = listener.accept();

new Thread(file_rec).start();
}
}
catch (java.lang.Exception ex) {
ex.printStackTrace(System.out);
}

public void run() {
try {
InputStream in = socket.getInputStream();


int nof_files = ByteStream.toInt(in);

for (int cur_file=0;cur_file < nof_files; cur_file++) {
String file_name = ByteStream.toString(in);

File file=new File(folder, file_name);

ByteStream.toFile(in, file);
}
}
catch (java.lang.Exception ex) {
ex.printStackTrace(System.out);
}

关于java - 通过套接字传输文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2017585/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com