【问题标题】:keeping the file name after file transfer文件传输后保留文件名
【发布时间】:2013-07-18 23:18:52
【问题描述】:

我目前正在通过 java 上的套接字进行 p2p 文件传输,并且我已经设法将源文件(图像、pdf、txt 等)发送到本地主机上的其他目录。但我的问题是是否有任何方法可以在传输后保持副本的文件名与原始文件名相同而无需硬编码(我使用参数行来获取源文件路径,分配要连接的端口,目标连接的IP,以及输出路径)

【问题讨论】:

  • 你是如何在没有得到名字的情况下复制文件的?如果您有选择要复制的文件的名称(我假设这是您正在做的事情),您不能用旧文件的名称命名新文件吗?
  • 我在程序的服务器部分获取文件名(正如你所说,它首先是服务器部分的唯一参数)并在客户端处理其余部分部分,你的问题是我的实际问题,我正是在问如何从参数行导入文件名并将其分配给复制的文件名
  • 好的,这是有道理的,感谢您的澄清。我有时会在试图理解问题时迷失方向。
  • here 已经回答了一个类似的问题。在那个问题中,传输是从服务器到客户端的,但该示例也适用。
  • booleanCube 有时你认为你已经阐明了你想要表达的内容,但在实践中似乎还不够,而且由于我是网络编程的新手,所以我试着习惯它的术语可能会导致上述并发症。 ja_mesa 非常有帮助,谢谢(虽然我已经搜索了很多关于这个问题的内容,但似乎我错过了那个问题)

标签: java sockets file-transfer


【解决方案1】:

您必须通过套接字连接发送它。 我看到了两个解决方案:

第一种解决方案:通过新连接发送。

  • 打开连接,发送文件名,关闭它。
  • 打开连接,发送文件数据,关闭它。
  • 使用收到的名称和数据保存文件。

第二种解决方案:通过同一个连接发送名称。

  • 打开连接,发送带有特殊最终字节的文件名。在客户端读取字节,直到找到特殊字节。
  • 仍在客户端继续读取字节并将其保存在新文件中。

【讨论】:

    猜你喜欢
    • 2012-02-24
    • 1970-01-01
    • 1970-01-01
    • 2011-07-09
    • 1970-01-01
    • 2017-03-12
    • 2012-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多