×

读取文件大小

读取文件大小(读取文件大小怎么设置)

admin admin 发表于2023-03-30 17:59:10 浏览51 评论0

抢沙发发表评论

本文目录一览:

JAVA读取文件夹大小的几种方法实例

import java.io.File;

import java.util.ArrayList;

import java.util.Collection;

import java.util.List;

import org.apache.commons.io.FileUtils;

import org.apache.commons.io.IOUtils;

public class Test {

public static void main(String[] args) throws Exception {

String searchStr = "APPTYPEID";

File searchDir = new File("D:\\xampp\\htdocs\\discuz");

ListSearch list = new ArrayListSearch();

CollectionFile files = FileUtils.listFiles(searchDir, null, true);

ListString lines = null;

for (File file : files) {

lines = FileUtils.readLines(file);

for (int i = 0; i lines.size(); i++) {

if (lines.get(i).indexOf(searchStr) != -1) {

Search s = new Search();

s.setFilename(file.getName());

s.setLine(i + 1);

s.setContent(lines.get(i));

list.add(s);

}

}

}

StringBuffer sb = new StringBuffer();

for (Search s : list) {

sb.append(s.getFilename() + " , " + s.getLine() + " , " + s.getContent()).append(

IOUtils.LINE_SEPARATOR);

}

FileUtils.writeStringToFile(new File("D:\\search.txt"), sb.toString(), "UTF-8");

}

}

class Search {

private String filename;

private int line;

private String content;

public String getFilename() {

return filename;

}

public void setFilename(String filename) {

this.filename = filename;

}

public String getContent() {

return content;

}

public void setContent(String content) {

this.content = content;

}

public void setLine(int line) {

this.line = line;

}

public int getLine() {

return line;

}

}

Go 读取大文件

测试文件使用的文件大小为 1.35GB 的日志文本文件,使用下面两种方式来读取。

Go 标准库中包含了读写的缓冲库,直接使用即可:

输出结果为:

Go 标准库中包括了 io 读写的相关工具包,直接开箱即用:

输出结果为:

结果对比

测试发现, ioutil.ReadFile 比 bufio 读写还要快。

如何用C语言获取文件的大小

方法一:利用纯C语言来获取文件大小

unsigned long get_file_size(const char *filename){

unsigned long size;

FILE* fp = fopen( filename, "rb" );

if(fp==NULL){

printf("ERROR: Open file %s failed.\n", filename);

return 0;

}

fseek( fp, 0L, SEEK_END );

size=ftell(fp);

fclose(fp);

return size;

}

注:

ftell函数返回文件指针当前位置相对应文件首的便宜字节数,参数为文件指针。

fseek函数用于移动文件指针,第一个参数是文件指针,第二个参数是偏移量(正数表示正向偏移,负数表示负向偏移),第三个参数设定文件从哪里偏移,有三个选择:SEEK_SET(文件头,其是常数0)、SEEK_CUR(文件当前位置,其是常数1)、SEEK_END(文件尾,其是常数2)。-读取文件大小

优缺点:好处是你只要会C语言,就能够完全掌握而且十分容易理解这里面的道理。确定是纯C语言目前只能读取不超过2G的文件。所以对于超过2G的文件,其返回值是不正确的。

方法二:利用系统函数获取

笔者使用Uinx/Linux,所以此处就只写这类平台上的文件大小获许方式了。在Linux类平台上,每个被系统所管理的文件都有一个文件属性结构体(其中一个属性就是文件大小)与其对应,这个结构体叫stat,其内容在 /sys/stat.h中:-读取文件大小

stat {

mode_t st_mode; //文件对应的模式,文件,目录等

ino_t st_ino; //inode节点号

dev_t st_dev; //设备号码

dev_t st_rdev; //特殊设备号码

nlink_t st_nlink; //文件的连接数

uid_t st_uid; //文件所有者

gid_t st_gid; //文件所有者对应的组

off_t st_size; //普通文件,对应的文件字节数

time_t st_atime; //文件最后被访问的时间

time_t st_mtime; //文件内容最后被修改的时间

time_t st_ctime; //文件状态改变时间

blksize_t st_blksize; //文件内容对应的块大小

blkcnt_t st_blocks; //伟建内容对应的块数量

}

文件的上述属性,可以通过一个stat函数来获取。

stat函数声明形式:

stat(const char *restrict path, struct stat *restrict buf);

第一个参数是文件名,第二个参数是指向一个stat结构的指针。

由此我们很容易写出如下函数:

unsigned long get_file_size(const char *filename){

struct stat buf;

if(stat(filename, buf)0){

return 0;

}

return (unsigned long)buf.st_size;

}

在进行大文件处理时,显然需要采取后者。

注:与stat函数类似的函数还有lstat函数、fstat 函数

python如何读取文件大小

python读取文件大小的代码如下:

[python] view plaincopyimport os

from os.path import join, getsize

def getdirsize(dir):

size = 0L

for root, dirs, files in os.walk(dir):

size += sum([getsize(join(root, name)) for name in files])

return size

if '__name__' == '__main__':

filesize = getdirsize(r'c:\windows')

print 'There are %.3f' % (size/1024/1024), 'Mbytes in c:\\windows'

c语言如何通过文件属性获取文件大小

c语言可以通过stat()函数获得文件属性,通过返回的文件属性,从中获取文件大小。

#include

sys/stat.h

可见以下结构体和函数

struct

stat

{

_dev_t

st_dev;

_ino_t

st_ino;

unsigned

short

st_mode;

short

st_nlink;

short

st_uid;

short

st_gid;

_dev_t

st_rdev;

_off_t

st_size;

//文件大小

time_t

st_atime;

time_t

st_mtime;

time_t

st_ctime;

};

stat(const

char

*,

struct

_stat

*);

//根据文件名得到文件属性

参考代码:

#include sys/stat.h

void main( )

{

struct stat buf ;

if ( stat( "test.txt", buf ) 0 )

{

perror( "stat" );

return ;

}

printf("file size:%d\n", buf.st_size );

}

把文件按指定大小读取出来怎么弄

一、通过 CFile 类的成员函数 GetLength 获取文件大小; 二、通过 CFileFind 类的成员函数 GetLength 获取文件大小; 下面详细说明这两种方法: 一、CFile 类 1、通过 Open 成员函数打开文件这样就可以了-读取文件大小