通过FileInputStream来获取的文件大小(解决了当文件太大出现问题)
public static void main(String[] args) {
FileChannel fc= null;
try { File f= new File("D:\\test.zip");
if (f.exists() && f.isFile()){
FileInputStream fis= new FileInputStream(f);
fc= fis.getChannel();
logger.info(fc.size());
}else{
logger.info("file doesn't exist or is not a file"); }
} catch (FileNotFoundException e) {
logger.error(e);
} catch (IOException e) {
logger.error(e);
} finally { if (null!=fc)){
try{ fc.close();
}catch(IOException e){
logger.error(e); } } }}