在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 的异常。