【问题标题】:How can I detect if a file is binary (non-text) in dart?如何在 dart 中检测文件是否为二进制(非文本)?
【发布时间】:2015-10-09 14:41:50
【问题描述】:

在 dart 控制台应用程序中,如何判断文件是否为二进制文件(非文本)?

【问题讨论】:

    标签: dart binaryfiles


    【解决方案1】:

    读取文件内容并检查是否发现不可显示的字符。一个例子是\u0000 或连续的\u0000,这通常出现在二进制文件中而不是文本文件中。

    另见How can I determine if a file is binary or text in c#?https://stackoverflow.com/a/277568/217408

    【讨论】:

      【解决方案2】:

      我使用这段代码来定义一个二进制或文本文件:

      bool isBinary(String path) {
        final file = File(path);
        RandomAccessFile raf = file.openSync(mode: FileMode.read);
        Uint8List data = raf.readSync(124);
        for (final b in data) {
          if (b >= 0x00 && b <= 0x08) {
            raf.close();
            return true;
          }
        }
        raf.close();
        return false;
      }
      
      try {
        isBinary('/filepath.ext');
      } on FileSystemException {}
      

      【讨论】:

        猜你喜欢
        • 2010-10-28
        • 2011-03-06
        • 1970-01-01
        • 2013-09-12
        • 1970-01-01
        • 2011-02-11
        • 1970-01-01
        • 1970-01-01
        • 2013-01-15
        相关资源
        最近更新 更多