.txt文件与.csv文件的C#文件信息长度属性

  • 本文关键字:文件 属性 信息 csv txt c#
  • 更新时间 :
  • 英文 :


我是C#的新手,也是Visual Studio的新手。我用Visual Studio上了一堂为期16周的C#课程,现在已经上到一半了。我觉得我可能已经从工作中学到了足够的知识来理解这段代码并对其进行修改。到目前为止,我已经能够理解其中的大部分内容(经过许多小时,并大量使用谷歌(。然而,有几个地方让我感到困惑。。。或者最初的程序员没有使用很好的逻辑?我不知道。。。请参阅以下代码:

//This is just a piece of the code... there are hundreds of lines of code above this
private static void OnSizeChange(object source, FileSystemEventArgs e)
{
try
{
// SET PATHS FROM WATCHER
String filePath = e.FullPath;
FileInfo infoForPath = new FileInfo(e.FullPath);
//CHECK FOR TEXT FILE IN ORDER TO VERIFY SIZE TO CONFIRM NEW EMPTY FILE WAS NOT CREATED
String txtExt = ".txt";
Boolean isTxt = e.FullPath.Contains(txtExt);
//Length gets the size, in bytes, of the current file.
if (!isTxt && infoForPath.Length > 5 || isTxt && infoForPath.Length > 0)

您在这里看不到的是,该文件将是.txt文件或.csv文件。我的问题是关于if语句。

什么是if语句检查?

据我所知,它正在检查文件路径中是否有一个".txt"&文件的字节长度为">5"(对于非.txt文件(或">0"(对于.txt文件(。

"5"one_answers"0"的原因是什么?

这些数字与.txt和.csv文件有关,是否有一些内在的原因?

如果有帮助的话,我在网上找到了这段代码,它很相似,我认为可以用于测试C#命令提示符应用程序。

using System;
using System.IO;
class Program
{
static void Main()
{
const string fileName = @"C:programsfile.txt";
// Part 1: create new FileInfo get Length.
FileInfo info = new FileInfo(fileName);
long length = info.Length;
// Part 2: print length in bytes.
Console.WriteLine("LENGTH IN BYTES: {0}", length);
}
}
Output
LENGTH IN BYTES: 60

启动Boolean isTxt = e.FullPath.Contains(txtExt);很容易出错,不是最好的方法。

您应该通过执行var fileExtenstion = infoForPath.Extension来获得扩展这将获得文件的扩展名。有关此外观的更多信息,请点击此处。既然有了扩展名,就可以检查扩展名是否为.txt,并返回bool或更改if语句的工作方式。

检查文本文件的长度为0的原因是,文本文件为空时不包含任何数据(长度(。我不确定,但CSV文件的默认长度可能为5。如果你想检查这个,你可以使用你发布的控制台应用程序代码

最新更新