java file 获取文件大小 是什么单位

java file 获取文件大小 是什么单位,第1张

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的方法,获取磁盘文件的文件名、长度、大小等特性。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9335403.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存