java 根据 网络地址获取 文件大小
时间: 2023-09-13 15:05:46 浏览: 79
可以使用 Java 的 URL 类和 HttpURLConnection 类来获取网络文件的大小。以下是一个简单的示例代码:
```java
import java.net.HttpURLConnection;
import java.net.URL;
public class FileSizeFetcher {
public static void main(String[] args) throws Exception {
URL url = new URL("https://example.com/file.txt");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("HEAD");
conn.getInputStream();
int fileSize = conn.getContentLength();
System.out.println("File size: " + fileSize + " bytes");
}
}
```
其中,`url` 是文件的网络地址,`conn` 是与该地址建立的连接。通过设置请求方法为 HEAD,可以获取到文件的元数据,包括文件大小。`getContentLength()` 方法返回文件大小(单位为字节)。
相关问题
java获取文件大小
以下是两种Java获取文件大小的方法:
1. 使用File类的length()方法[^1]:
```java
import java.io.File;
public class FileSizeExample {
public static void getFileSize1(File file) {
if (file.exists() && file.isFile()) {
String fileName = file.getName();
System.out.println("文件" + fileName + "的大小是:" + file.length());
}
}
public static void main(String[] args) {
File file = new File("path/to/file");
getFileSize1(file);
}
}
```
2. 使用FileChannel类的size()方法:
```java
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;
public class FileSizeExample {
public static void getFileSize2(File file) {
FileChannel fc = null;
try {
if (file.exists() && file.isFile()) {
String fileName = file.getName();
FileInputStream fis = new FileInputStream(file);
fc = fis.getChannel();
System.out.println("文件" + fileName + "的大小是:" + fc.size() + "\n");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (null != fc) {
try {
fc.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public static void main(String[] args) {
File file = new File("path/to/file");
getFileSize2(file);
}
}
```
java 通过 byte 获取文件大小
以下是两种Java通过byte获取文件大小的方法:
1. 使用java.io包中的File类和FileInputStream类:
```java
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class FileSizeExample {
public static void main(String[] args) {
File file = new File("文件路径");
long fileSize = file.length();
System.out.println("文件大小为:" + fileSize + " bytes");
}
}
```
2. 使用java.nio包中的FileChannel类:
```java
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class FileSizeExample {
public static void main(String[] args) {
Path path = Paths.get("文件路径");
try {
long fileSize = Files.size(path);
System.out.println("文件大小为:" + fileSize + " bytes");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)