Java 中获取文件大小
1,。在 Java 中获取本地文件大小,可以使用 java.io.File
类来实现,以下是一个示例代码:
import java.io.File;
public class FileSizeGetter {
public static void main(String[] args) {
// 替换为线上文件的路径
String filePath = "/your/online/file/path/file.txt";
File file = new File(filePath);
if (file.exists()) {
long size = file.length();
System.out.println("文件大小:" + size + " 字节");
} else {
System.out.println("文件不存在");
}
}
}
在上述代码中,首先创建了一个 File
对象,通过指定线上文件的路径来实例化该对象。然后,使用 exists()
方法检查文件是否存在。如果文件存在,使用 length()
方法获取文件的大小,并将其输出到控制台。
请注意,确保将 filePath
替换为实际的线上文件路径。
2.在 Java 中获取网络文件大小,可以通过以下步骤实现:
1)使用 URLConnection
类建立与网络文件的连接。
2)获取输入流,并通过读取流的方式来获取文件大小。
下面是一个示例代码:
import java.io.InputStream;
import java.net.URL;
public class NetworkFileSizeGetter {
public static long getNetworkFileSize(String fileUrl) {
try {
URL url = new URL(fileUrl);
InputStream inputStream = url.openStream();
// 创建一个字节数组用于读取流中的数据
byte[] buffer = new byte[1024];
int bytesRead;
long fileSize = 0;
while ((bytesRead = inputStream.read(buffer))!= -1) {
fileSize += bytesRead;
}
inputStream.close();
return fileSize;
} catch (Exception e) {
e.printStackTrace();
return -1;
}
}
public static void main(String[] args) {
String fileUrl = "http://example.com/file.txt";
long fileSize = getNetworkFileSize(fileUrl);
if (fileSize!= -1) {
System.out.println("网络文件大小:" + fileSize + " 字节");
} else {
System.out.println("获取文件大小失败");
}
}
}
在上述示例中:
getNetworkFileSize
方法接受网络文件的 URL 作为参数。- 通过
URL
对象打开输入流。 - 使用循环逐字节读取流中的数据,并累计文件大小。
- 最后关闭输入流并返回文件大小。
请注意,这只是一个简单的示例,实际应用中可能需要处理更多的异常情况和错误处理。