java获取文件下载时间
时间: 2023-05-22 07:03:06 浏览: 180
要获取文件下载时间,可以使用Java的URLConnection类。首先,使用URL类创建文件的URL对象,然后调用openConnection()方法返回URLConnection对象。通过调用getHeaderField()方法获取文件的最后修改时间,再计算下载时间即可。
以下是参考代码:
```
URL url = new URL(fileUrl);
URLConnection connection = url.openConnection();
connection.connect();
long downloadStartTime = System.currentTimeMillis();
long lastModified = connection.getLastModified();
long fileSize = connection.getContentLengthLong();
long downloadEndTime = System.currentTimeMillis();
long downloadTime = downloadEndTime - downloadStartTime;
```
其中,fileUrl是文件的URL地址,downloadStartTime是下载开始时间,downloadEndTime是下载结束时间,downloadTime是下载所需时间,lastModified是文件最后修改时间,fileSize是文件大小。
相关问题
java 获取ftp文件时间
Java中获取FTP文件时间可以使用Apache Commons Net库的FTPClient类。FTPClient类提供了多种方法可以获取文件时间,下面提供一种常用的方法。
示例代码如下:
```java
import org.apache.commons.net.ftp.FTPClient;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class FtpDemo {
public static void main(String[] args) throws IOException {
String server = "ftp.example.com";
int port = 21;
String username = "username";
String password = "password";
String remoteFilePath = "/path/to/remote/file.txt";
FTPClient ftpClient = new FTPClient();
ftpClient.connect(server, port);
ftpClient.login(username, password);
Date createTime = ftpClient.getModificationTime(remoteFilePath);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String createTimeStr = dateFormat.format(createTime);
System.out.println("Remote file created time: " + createTimeStr);
ftpClient.logout();
ftpClient.disconnect();
}
}
```
在代码中,通过调用FTPClient类的getModificationTime方法获取文件的创建时间,然后使用SimpleDateFormat类格式化时间字符串输出。需要注意的是,getModificationTime方法返回的时间是FTP服务器上文件的本地时间,而不是UTC时间,如果需要转换成UTC时间,需要根据FTP服务器的时区进行调整。
java minio获取文件下载链接
要获取Minio对象存储桶中文件的下载链接,可以使用Minio的Presigned GET API。这个API会生成一个带有过期时间的URL,可以用来下载文件。
下面是一个示例Java代码片段,用于生成一个5分钟有效期的Minio对象存储桶中文件的下载链接:
```java
import java.time.Duration;
import io.minio.MinioClient;
import io.minio.errors.MinioException;
public class MinioExample {
public static void main(String[] args) {
try {
// 连接Minio服务
MinioClient client = new MinioClient.Builder()
.endpoint("play.minio.io")
.credentials("ACCESS_KEY", "SECRET_KEY")
.build();
// 生成Presigned GET链接
String bucketName = "my-bucket";
String objectName = "path/to/my/file.txt";
Duration expiry = Duration.ofMinutes(5);
String url = client.getPresignedObjectUrl(bucketName, objectName, expiry);
System.out.println(url);
} catch (MinioException e) {
System.out.println("Error occurred: " + e);
}
}
}
```
这个代码片段中,我们首先使用Minio Java客户端连接到Minio对象存储服务。然后,我们使用`getPresignedObjectUrl()`方法为指定的文件生成Presigned GET链接,并指定了链接的有效期为5分钟。最后,我们打印出了生成的链接。
需要注意的是,生成的链接是一个临时链接,只有在有效期内才能使用。如果链接已经过期,或者链接对应的文件已经被删除,那么尝试下载该文件时会返回错误。