精华内容
下载资源
问答
  • Linux C 库函数判断一个文件是否为空

    千次阅读 2016-07-21 18:48:30
    C语言fgetc()函数的返回值意义 函数原型:int fgetc( FILE* stream );...既然返回的是一个字节,什么返回值确用4字节的int表示,不用unsigned char这1个字节类型表示,或直接用char类型表示? 原因就
    C语言fgetc()函数的返回值意义
    函数原型:int fgetc( FILE* stream );
    这个函数的返回值,是返回读取的一个字节。如果读到文件末尾返回EOF。

    EOF其实就是一个宏:#define EOF (-1)   表示-1.

    既然返回的是一个字节,为什么返回值确用4字节的int表示,不用unsigned char这1个字节类型表示,或直接用char类型表示?
    原因就是出在返回值要能表示-1.unsigned char表示无符号的,而这返回值,需要是-1才可以表示文件读到末尾了,那可以char类型表示-1,但是-1在char类型中表示的值为0xff,然而它本身就是一个字节的内容,如果文件中的一个字节是0xff,难道就认为文件结束,这是不合理的,用int作返回值,就不会出现这个问题,-1用int表示为0xffffffff;而字节值如果0xff这它返回的int值就会是0x000000ff,这样就可以区别开字节值为0xff和文件结束标识EOF.


    注:EOF只是为了标识已经读到文件末尾,它并不是一个存储在文件中的字节。

    代码示例:

    //失败返回-1 成功如果文件为空 返回0 文件不为空返回1;
    static int IS_File_Null(char *str)
    {
    	int ret = -1;
    	FILE *fp;
    	char ch;
    	
    	ret = (str != NULL);
    	
    	if(ret)
    	{
    		
    		if((fp=fopen(str,"r"))==NULL)
    		{
    			ret = -1;
    			
    			return ret;
    		}
    		
    		ch=fgetc(fp);
    		
    		if(ch == 0xff) //EOF = -1, 也就是0xff;
    			ret = 0;
    
    		else
    			ret = 1;
    	}
    	
    	fclose(fp);
    
        return ret;	
    }
    
    void main(void)
    {
    	int number = -2;
    	
    	number = IS_File_Null("/opt/text.txt");
    	
    	printf("number: %d\n", number);
    }

    上面直接用EOF表示会出错,所以上面用0xff表示,暂时还没找到原因。


    展开全文
  • [已解决]批处理怎样判断一个txt文件是否为空? 我有个系统,会生成一个文件“D:\aa.txt” 这个文件会被经常改写,有时为空(即:0字节),有时有内容(即:大于0字节) 我想用批处理来判断:若该文件为空,则...

    [已解决]批处理怎样判断一个txt文件是否为空?

    我有个系统,会生成一个文件“D:\aa.txt”
    这个文件会被经常改写,有时为空(即:0字节),有时有内容(即:大于0字节)

    我想用批处理来判断:若该文件为空,则执行"A.exe";
                                  若该文件不为空,则执行"B.exe”

    谢谢!

    batman 发表于 2011-3-25 11:05

    [code]
    @echo off
    set "paths=d:\a.txt"
    for %%a in ("%paths%") do (
         if "%%~za" equ "0" (
            start "" "完整路径(a.exe)"
            ) else (
            start "" "完整路径(b.exe)"
         )
    )
    [/code]

    zidian5 发表于 2011-3-25 11:26

    [b] [url=http://www.bathome.net/redirect.php?goto=findpost&pid=73699&ptid=11601]2#[/url] [i]batman[/i] [/b]


    非常感谢,已经解决了!

    dashige 发表于 2011-3-25 11:35

    equ "0"
    哈哈。。。。

    wc726842270 发表于 2011-3-25 12:32

    无聊用WMIC写一个,当然不如用2L的方法好。
    PS:空格真是上火,找了N久才发现[code]
    @echo off
    set /p #a=请指定文件:
    for %%i in (%#a%) do set #d=%%~di&set #p=%%~pi &set #n=%%~ni& set #e=%%~xi
    set b=%#p:\=\\%
    set c=%b:~0,-1%
    set x=%#e:~1,-1%
    wmic datafile where "drive='%#d%' and path='%c%' and filename='%#n%' and extension='%x%'" get filesize
    pause
    [/code]

    hbwazxf 发表于 2011-3-25 13:01

    新人学习。感谢2楼的方法

    CrLf 发表于 2011-3-25 13:08

    方法很多,
    方法一:
    findstr .* a.txt&&a.exe||b.exe
    方法二:
    for %%a in (a.txt) do if %%~za==0 (a.exe) else b.exe
    方法三:
    cd.>tmp
    fc tmp a.txt&&a.exe||b.exe
    方法四:
    wmic...
    ::详见5楼
    方法五:
    vbs...
    ::但是我只知道有,不清楚怎么写
    方法六:
    for /f "eol=" %%a in (a.txt) do set tmp=1
    if defined tmp (a.exe) else b.exe
    ::忽略空行

    当然还可以写出很多引申的办法,就不一一列举了

    dahual 发表于 2011-3-25 13:31

    以前不知道此用法,这下好了。:lol学习帖。[code]
    另外,FOR 变量参照的替换已被增强。您现在可以使用下列
    选项语法:

         %~I          - 删除任何引号("),扩展 %I
         %~fI        - 将 %I 扩展到一个完全合格的路径名
         %~dI        - 仅将 %I 扩展到一个驱动器号
         %~pI        - 仅将 %I 扩展到一个路径
         %~nI        - 仅将 %I 扩展到一个文件名
         %~xI        - 仅将 %I 扩展到一个文件扩展名
         %~sI        - 扩展的路径只含有短名
         %~aI        - 将 %I 扩展到文件的文件属性
         %~tI        - 将 %I 扩展到文件的日期/时间
         %~zI        - 将 %I 扩展到文件的大小
         %~$PATH:I   - 查找列在路径环境变量的目录,并将 %I 扩展
                       到找到的第一个完全合格的名称。如果环境变量名
                       未被定义,或者没有找到文件,此组合键会扩展到
                       空字符串

    可以组合修饰符来得到多重结果:

         %~dpI       - 仅将 %I 扩展到一个驱动器号和路径
         %~nxI       - 仅将 %I 扩展到一个文件名和扩展名
         %~fsI       - 仅将 %I 扩展到一个带有短名的完整路径名
         %~dp$PATH:I - 搜索列在路径环境变量的目录,并将 %I 扩展
                       到找到的第一个驱动器号和路径。
         %~ftzaI     - 将 %I 扩展到类似输出线路的 DIR
    [/code]

    tmplinshi 发表于 2011-3-25 16:47

    [quote]方法六:
    for /f "eol=" %%a in (a.txt) do set tmp=1
    if defined tmp (a.exe) else b.exe
    ::忽略空行
    [size=2][color=#999999]zm900612 发表于 2011-3-25 13:08[/color] [url=http://bathome.net/redirect.php?goto=findpost&pid=73717&ptid=11601][img]http://bathome.net/images/common/back.gif[/img][/url][/size][/quote]
    "eol=" 会忽略以双引号开头的行。

    页: [1]
    展开全文
  • 如何在shell中判断一个文件是否为空

    千次阅读 2016-05-09 16:13:28
    在Linux中写脚本的时候,总免不了需要判断文件是否存在、文件内容是否为空等存在,而这些操作都可以用test 指令来实现,通过 man test 指令可以查看关于test指令的手册,手册中有如下说明:  -s FILE  FILE...

    在Linux中写脚本的时候,总免不了需要判断文件是否存在、文件内容是否为空等存在,而这些操作都可以用test 指令来实现,通过 man test 指令可以查看关于test指令的手册,手册中有如下说明: 

    -s FILE
                  FILE exists and has a size greater than zero
                  如果文件存在且文件大小大于零,则返回真

    -e FILE
                  FILE exists
                  如果文件存在,则返回真

      在shell中通过test指令测试文件是否为空的示例脚本如下:

    #! /bin/sh
    
    if test -s file.txt; then
            echo "hi"
    else
            echo "empty"
    fi

      在shell中,test指令还有另外一种写法,上面的脚本和下面的脚本是等价的:

    #! /bin/sh
    
    if [ -s file.txt ]; then
            echo "hi"
    else
            echo "empty"
    fi

      两者之间的区别大家自己慢慢观察哈~~

    转载请注明:Coding Ants » 如何在shell中判断一个文件是否为空

    展开全文
  • 主要介绍了shell判断文件是否为空的代码,需要的朋友可以参考下
  • java中判断文件是否为空内容

    万次阅读 2016-12-15 11:57:58
    *在File类中并没有提供判断文件是否为空的方法,但可以借助length()方法的返回值进行判断。如果文件不存在或文件为空时,length()方法返回0。*File file = new File("D:\\test.txt"); if(file.exists() ...

    在File类中并没有提供判断文件是否为空的方法,但可以借助length()方法的返回值进行判断。如果文件不存在或文件为空时,length()方法返回0。

    File file = new File("test.txt");
                if (null == file || 0 == file.length() || !file.exists()) {
                    System.out.println("文件为空!");
                }
    
    展开全文
  • 判断txt文件是否为空

    千次阅读 2019-12-18 21:13:51
    File file = new File("D:/file.txt"); if(file.exists() && file.length)() == 0) { System.out.println("文件为空!"); }
  • //上传一个文件 HTML: <form id="uploadFileForm"> <input type="file" name="file" id="updateFileInput"/> </form> ...
  • 在Linux中写脚本的时候,总免不了需要判断文件是否存在、文件内容是否为空等存在,而这些操作都可以用test指令来实现,通过 man test 指令可以查看关于test指令的手册,手册中有如下说明: -s FILE FILE exists ...
  • C++判断文件是否为空

    千次阅读 多人点赞 2020-03-22 15:17:53
    文件中读取一个字符,判断是否为文件末尾。 ifstream ifs(filename,ios::in) char ch; ifs>>ch; if(ifs.eof()) { cout<<”文件为空”<<endl; } 需要引用头文件fstream ...
  • Matlab中判断文件是否为空

    千次阅读 2015-09-25 12:55:48
    Matlab处理文件时,经常会遇到判断文件是否为空的情况。可使用如下代码处理之。 file_path = 'c:\test.txt'; s = dir(file_path); if s.bytes == 0 %文件为空 do something else %文件非空 do something end
  • * 判断是否相等 * * @param a * 数值a * @param b * 数值b * @return 是否相等 */ public static boolean isEquals( Byte a, Byte b) { return a != null && b != null && a....
  • 如何判断文件是否为空

    千次阅读 2016-12-16 15:16:19
    百度一下判断文件是否为空,大部分的答案都是用  FILE *fp; char = ch; fp = fopen("D:\\nihao.txt","w"); ch = fgetc(fp); if(ch==EOF)   printf("为空"); else   printf("不为空"); 这我试验了,没用。 EOF...
  • python 判断文件是否存在,是否为空

    千次阅读 2020-07-15 19:34:25
    1. 判断文件是否为空 os.path.getsize()返回文件的字节数,如果 0,则代表。 import os file = "/home/abc/a.txt" if not os.path.getsize(file): os.remove(file) 2. 判断文件 / 文件夹是否存在 os....
  • 、代码实现如下: import os size = os.path.getsize('D:\\abc.txt') if size == 0: print("文件的") else: print("文件不是的")
  • Ant 判断某个文件是否为空

    千次阅读 2015-08-13 16:34:48
    Ant可以用length来判断某个文件是否为空。 具体用法: ${isFinished.size}如果打印结果0,就这么文件为空了。
  • 判断一个json是否为空

    千次阅读 2019-10-01 16:12:27
    jQuery.isEmptyObject()函数用于判断指定参数是否一个空对象。 jQuery.isEmptyObject()函数的返回值Boolean类型,如果指定的参数是对象,则返回true,否则返回false。 jQuery.isEmptyObject( object ) ...
  • shell判断文件是否为空

    万次阅读 2014-03-20 16:55:44
    判断文件的参数如下 -e 文件存在  -f file 是一个 regular 文件(不是目录或者设备文件) -s 文件长度不 0 -d 文件是个目录 -b 文件是个块设备(软盘,cdrom 等等)  -c 文件是个字符设备(键盘,modem,声卡等等)...
  • java判断前台 上传的文件 是否为空

    千次阅读 2020-03-30 15:10:41
    public String uploadFile(MultipartFile file) { //判断文件是否为空 if (file.isEmpty()) { return "请上传文件!!!"; }}
  • Linux判断文件是否为空,不为空则打印该文件的大小,使用到的命令是-s + filename -s filename 如果文件大小大于0,则返回true。 例如: 查看当前目录 # ls -l total 8 -rwxrwxr-x 1 pentester ...
  • python 判断文件是否存在、是否为空

    千次阅读 2019-10-24 16:31:32
    文件是否存在 os.path.exists('xxx.xxx') 文件是否为空 os.path.getsize('xxx.xxx')
  • if 判断一个对象是否为空

    千次阅读 2020-04-15 16:15:59
    使用ES6新增的方法 Object.keys() Object.keys() 方法会返回一个一个给定对象的自身可枚举属性组成的...我们可以依靠Object.keys()这个方法通过判断它的长度来知道它是否为空。 if (Object.keys(obj).length === 0...
  • python:读写文件判断一是否为空

    万次阅读 2018-08-28 15:01:41
    这篇博客提供种方法判断一是否为空。注意,空行不是由空格组成的行,而是只有换行符的行。 做法: if line in ['\n','\r\n']: #doing something pass 对于全部是空格的行: if line.strip() == "&...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 586,137
精华内容 234,454
关键字:

怎样判断一个文件是否为空