java - 使用JAVA从TFTP服务器获取文件大小,无需下载文件

标签 java tftp

有没有一种方法可以在不下载文件的情况下获取 TFTP 服务器上的文件大小。如果可用的话,我想要一个相同的 JAVA API。

我尝试了TFTPClient,但它不支持。

注意:我能够获取本地 tftp 服务器上的文件大小,但无法获取远程 tftp 上的文件大小。对于本地以下代码有效:

DatagramSocket socket = new DatagramSocket();
SocketAddress sockAddr = new InetSocketAddress(address.getHostAddress(),
                                               portNumber);
socket.connect(sockAddr);
File file = new File(fileName);
long fileSize = getFileSize(file);
if (fileSize > 0) {
    return fileSize;
}

最佳答案

TFTP 协议(protocol)(​​如 RFC 1350 中指定)不支持此功能。

请注意,RFC 1350 已增强,具有协商选项的能力;请参阅 RFC 中的“更新者”列表。然而,这些更新都没有提供请求文件大小的方法。

所以答案是没有办法使用兼容的 TFTP 服务器。

关于java - 使用JAVA从TFTP服务器获取文件大小,无需下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43207284/

相关文章:

java - ASM COMPUTE_MAXS 不适用于基本测试用例?

java - 模拟 JUnit 构造函数的最佳方法是什么?

java - Jetty(?) 在 Windows 上破坏大型 js 文件

java - 通过 TFTP 传输的文件与主机上传输的文件大小不同

iphone - 有没有iPhone sdk的TFTP客户端,可以传文件到TFTP服务器?

java - BufferedOutputStream 未将所有内容写入文件

java - 未经检查的分配 : 'anonymous java.util.Iterator' to 'java.util.Iterator<java.lang.Integer>'

java - 使用 hibernate 从 DTO 更新实体会删除其他字段

c++ - tftp协议(protocol)实现及netascii和octect的区别

c - UDP 之上的 TFTP : Checking write permission on the Server/Client directory