FileInputStream input;
byte[] buffer = new byte[1024 * 1024]; try {
input = new FileInputStream(fileName);
int len = input.read(buffer, 0, buffer.length);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
读文件的代码如上,如果用buffer.length返回的是1024*1024=1048576,这个是byte[]数组的所有字节数。我想得到文件在byte[]里实际占用的字节数(也就是文件的大小)
解决方案 »
- java中的method.invoke()运行的的时候通不过
- 系统设置P3P的作用和影响?
- 新手求助:用ADB方式发布的一个服务可以用RPCServiceClient来调用吗??
- 关于Jsp环境搭建问题
- 问个hibernate集合映射的问题:集合外键如何不指向主键?
- 大家帮忙看看,很有味道的一题
- URL中文参数传输的问题出现乱码
- 打算自己开发一个基于Linux的VSS客户端,请求大家的支持、建议
- 希望哪位能给一份hibernate的简单的教程,最好是中文的,谢谢!
- Help me please......关于pop3协议>>>(要再加分可面谈)
- tomcat 启动问题
- 数据库数据过多,怎样进行处理
int len = new File(fileName).length();
byte[] buf = new byte[1024*1024];
FileInputStream fis = new FileInputStream("c:\\test.db");
int totalLen = 0; //文件总大小
int len = 0;
while((len = fis.read(buf)) == buf.length){
totalLen += buf.length;
}
totalLen += len;
不过你如果想读文件大小何必怎么麻烦
input = new FileInputStream(fileName);
int len = input.available(); 这句话就获取文件大小了
FileInputStream input;byte[] buffer = null;
try {
int fileLen = 0;
fileLen = input.available();
buffer = new byte[fileLen]; //buffer的大小就是文件的大小
input = new FileInputStream(fileName);
int len = input.read(buffer);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}