淘先锋技术网

首页 1 2 3 4 5 6 7

在Java中,我们可以使用一些简单的代码计算文件的大小和行数。下面是两个示例方法来实现这些操作。

/**
* 计算文件大小
* @param file 文件对象
* @return 文件大小,以字节为单位
*/
public static long getFileSize(File file) {
long size = 0;
if (file.isFile()) {
size = file.length();
} else {
File[] files = file.listFiles();
for (File f : files) {
if (f.isFile()) {
size += f.length();
} else {
size += getFileSize(f);
}
}
}
return size;
}
/**
* 计算文件行数
* @param file 文件对象
* @return 文件行数
* @throws IOException
*/
public static int getFileLineCount(File file) throws IOException {
int count = 0;
FileInputStream fis = new FileInputStream(file);
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
while (br.readLine() != null) {
count++;
}
br.close();
isr.close();
fis.close();
return count;
}

这些方法都很容易理解。getFileSize() 方法使用递归来计算目录中所有文件的大小,getFileLineCount() 方法则读取文件的行数。要注意的是,在使用 getFileLineCount() 方法时,必须处理一个可能抛出 IOException 的异常。