1、java file 获取文件大小 ,单位是kb,Filelength()获得文件字节大小/1024 获得 KB数, 由于整数运算省略小数部分,故加1。
2、目前Java获取文件大小的方法有两种:
1)通过file的length()方法获取。
2)通过流式方法获取。
3、通过length方法:
1)创建一个文件。
2)获取文件大小。
3)查看结果。
简单的办法:
一:你把你的所有视频都放到暴风影音里,就能看到时间拉,然后自己慢慢找就可以
二:将文件查看方式改为详细信息显示,就可以看见所有文件的容量,进而就知道它的长度了。或者直接按文件大小排列
三:用用绘声绘影这个软件把视频全加进去就可以显示了(软件有点大)
比较难的办法:可以用MediaInfo查看和输出时间列表,然后做一下统计,支持度很高Flv支持(这软件 *** 作有点难)
package comtexst;
import javaioFile;
import javaioFileInputStream;
import javaioFileNotFoundException;
import javaioIOException;
public class GetFileMessageOfDisk {
/
@param args
/
public static void main(String[] args) {
File file = new File("D:/");
getMessage(file);
}
private static void getMessage(File file){
File[] files = filelistFiles();
if(files==null){
files = new File[0];
}
for(int i=0;i<fileslength;i++){
if(files[i]isDirectory()){
Systemoutprintln(files[i]getPath());
getMessage(files[i]);
}else{
try {
int length = new FileInputStream(files[i])available();
Systemoutprintln(files[i]getName()+" 长度:"+length+" 大小:"+length/1024+"KB");
} catch (FileNotFoundException e) {
eprintStackTrace();
} catch (IOException e) {
eprintStackTrace();
}
}
}
}
}
# head -n 1 apy
for changep in range(35, 23, -1):
# head -n 1 apy |wc
1 6 34
# head -n 1 apy |wc -c
34
Mp3size:=MediaPlayer1Length div 1000;
minutesMax:=Trunc(Mp3size/60); //分
SecondMax:= Mp3size mod 60; //秒
length 获取的是毫秒。
我测试了你的代码:
#include<stdioh>#include<stringh>
#include<stdlibh>
void main()
{
FILE p=fopen("d:\\jiuibftxt","rt");
int length = 0;
for(;fgetc(p)!=EOF;length++);
fclose(p);
printf("第一种方式,文件长度=%d\n",length);
p=fopen("d:\\jiuibftxt","rb");
fseek(p,0,2);
length=ftell(p);
fclose(p);
printf("第二种方式,文件长度=%d\n",length);
}
文本文件的内容是:
FILE p=("jiuibftxt","rt");
int length;
for(;fgetc(p)!=EOF;length);
FILE p=(jiuibftxt","rb");
int length;
fseek(p,0,2);
length=ftell(p);
程序的输出是:
原因分析:
在windows下,以文本方式写入文件的\n会被转换为\r\n(也就是0x0D0A),输出的时候,\r\n会被转换回\n。
fgetc在读入时会将\r\n转换成一个\n;上面的文本文件有6个回车换行。
所以第一种方式比第二种方式少6
C语言获得文件的长度方式就是第二种:
FILEfp;fp=fopen("localfile","rb");// localfile文件名
fseek(fp,0,SEEK_SET);
fseek(fp,0,SEEK_END);
long longBytes=ftell(fp);// longBytes就是文件的长度
用以下的方法可以获取一个文件的字节数:
先用fopen打开文件,然后把文件指针指向文件尾
再用ftell获得文件指针当前位置(即文件长度)
源代码:
#include "stdafxh"
#include <stdioh>
#include <iostream>
using namespace std;
int main()
{
FILE fp = NULL;
int nFileLen = 0;
fp = fopen("c:/Testtxt", "rb");
if (fp == NULL)
{
cout << "can't open file" << endl;
return 0;
}
fseek(fp,0,SEEK_END); //定位到文件末
nFileLen = ftell(fp); //文件长度
cout << "file len = " << nFileLen << endl;
return 0;
}
可以用 stat (win 下 _stat)函数直接得文件尺寸。
man 2 stat
1MFC中的方法:(C++)
CFileStatus status;
CFile::GetStatus("D:\\testtxt",status);
long lSizeOfFile;
lSizeOfFile = statusm_size;
lSizeOfFile的值就是D:\\testtxt文件的大小
2标准C获得文件大小的5种方法
(注意:"__FILE__"指的是当前文件,你可以改为有效路径的目标文件,比如"D:\\testtxt")
struct stat {
dev_t st_dev; / ID of device containing file /
ino_t st_ino; / inode number /
mode_t st_mode; / protection /
nlink_t st_nlink; / number of hard links /
uid_t st_uid; / user ID of owner /
gid_t st_gid; / group ID of owner /
dev_t st_rdev; / device ID (if special file) /
off_t st_size; / total size, in bytes /
blksize_t st_blksize; / blocksize for filesystem I/O /
blkcnt_t st_blocks; / number of blocks allocated /
time_t st_atime; / time of last access /
time_t st_mtime; / time of last modification /
time_t st_ctime; / time of last status change /
}
#include "stdafxh"
#include "stdioh"
#include <sys/stath>
#include <ioh>
#include <FCNTLH>
int getfilesize()
{
int iresult;
struct _stat buf;
iresult = _stat(__FILE__,&buf);
if(iresult == 0)
{
return bufst_size;
}
return NULL;
}
int getfilesize01()
{
int fp;
fp=_open(__FILE__,_O_RDONLY);
if(fp==-1)
return NULL;
return _filelength(fp);
//return NULL;
}
int getfilesize02()
{
int fp;
fp=_open(__FILE__,_O_RDONLY);
if(fp==-1)
return NULL;
return _lseek(fp,0,SEEK_END);
//return NULL;
}
int getfilesize03()
{
int fp;
fp=_open(__FILE__,_O_RDONLY);
if(fp==-1)
return NULL;
return _lseek(fp,0,SEEK_END);
//return NULL;
}
int getfilesize04()
{
FILE fp;
if((fp=fopen(__FILE__,"r"))==NULL)
return 0;
fseek(fp,0,SEEK_END);
return ftell(fp); //return NULL;
}
int getfilesize05()
{
FILE fp;
char str[1];
if((fp=fopen(__FILE__,"rb"))==NULL)
return 0;
for(int i = 0;!feof(fp);i++)
{
fread(&str,1,1,fp);
}
return i - 1; //return NULL;
}
int main(int argc, char argv[])
{
printf("getfilesize()=%d\n",getfilesize());
printf("getfilesize01()=%d\n",getfilesize01());
printf("getfilesize02()=%d\n",getfilesize02());
printf("getfilesize03()=%d\n",getfilesize03());
printf("getfilesize04()=%d\n",getfilesize04());
printf("getfilesize05()=%d\n",getfilesize05());
return 0;
}
以上就是关于java file 获取文件大小 是什么单位全部的内容,包括:java file 获取文件大小 是什么单位、如何获取一个文件夹下所有视频文件的时间总长度、利用Java文件类File的方法,获取磁盘文件的文件名、长度、大小等特性。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)