Java字节获取文件的总大小代码实现流程
流程图
flowchart TD
subgraph 开始
A[定义文件路径] --> B[创建文件对象]
end
subgraph 获取字节大小
B --> C[创建文件输入流]
C --> D[创建字节数组]
D --> E[读取文件内容到字节数组]
end
subgraph 计算总大小
E --> F[获取字节数组长度]
F --> G[输出字节数组长度]
end
subgraph 异常处理
G --> H[捕获IO异常]
H --> I[输出异常信息]
I --> J[关闭文件输入流]
end
subgraph 结束
G --> K[关闭文件输入流]
end
代码实现步骤及注释
步骤 |
代码 |
说明 |
1 |
String filePath = "文件路径"; |
定义文件路径 |
2 |
File file = new File(filePath); |
创建文件对象 |
3 |
FileInputStream fis = new FileInputStream(file); |
创建文件输入流 |
4 |
byte[] buffer = new byte[1024]; |
创建字节数组,用于读取文件内容 |
5 |
int bytesRead = fis.read(buffer); |
读取文件内容到字节数组,并返回实际读取的字节数 |
6 |
int totalSize = bytesRead; |
初始化总大小为实际读取的字节数 |
7 |
while (bytesRead != -1) { <br> bytesRead = fis.read(buffer); <br> totalSize += bytesRead; <br>} |
循环读取文件内容到字节数组中,并累加总大小 |
8 |
System.out.println("文件的总大小为:" + totalSize + "字节"); |
输出文件的总大小 |
9 |
} catch (IOException e) { <br> e.printStackTrace(); <br>} finally { <br> if (fis != null) { <br> try { <br> fis.close(); <br> } catch (IOException e) {<br> e.printStackTrace();<br> }<br> }<br> }` |
异常处理和关闭文件输入流 |
代码实现
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class FileSizeCalculator {
public static void main(String[] args) {
String filePath = "文件路径";
File file = new File(filePath);
FileInputStream fis = null;
try {
fis = new FileInputStream(file);
byte[] buffer = new byte[1024];
int bytesRead = fis.read(buffer);
int totalSize = bytesRead;
while (bytesRead != -1) {
bytesRead = fis.read(buffer);
totalSize += bytesRead;
}
System.out.println("文件的总大小为:" + totalSize + "字节");
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
代码解释
- 首先,我们需要定义一个文件路径,用于指定要计算大小的文件。可以将文件路径指定为一个字符串变量,例如
String filePath = "文件路径";
。
- 接下来,我们需要创建一个文件对象,通过传入文件路径作为参数来实例化文件对象。可以使用
File file = new File(filePath);
。
- 然后,我们需要创建一个文件输入流来读取文件内容。可以使用
FileInputStream
类来创建文件输入流,通过传入文件对象作为参数来实例化文件输入流对象。可以使用 FileInputStream fis = new FileInputStream(file);
。
- 为了读取文件内容,我们需要创建一个字节数组,用于存储文件内容。可以使用
byte[] buffer = new byte[1024];
创建一个字节数组,长度为 1024 字节。