草庐IT

fileinfo

全部标签

linux - 识别现有文件夹

这个问题在这里已经有了答案:Expandtildetohomedirectory(5个答案)reader.ReadStringdoesnotstripoutthefirstoccurrenceofdelim(4个答案)关闭3年前。我遇到一个问题,它似乎告诉我文件夹不存在,而实际上它确实存在。path,_:=reader.ReadString('\n')path,err:=expand(path)fmt.Println("PathExpanded:",path,err)iferr==nil{if_,err2:=os.Lstat(path);err2==nil{fmt.Println("V

arrays - 如何在 GoLang 中将项目附加到 []os.FileInfo

我正在制作一个类似ioutil.ReadDir()的函数,但由于我想要文件夹和子文件夹中的所有文件而递归,而ioutil.ReadDir()只是在指定的文件夹中执行它,但我不知道如何附加项目到我创建的[]os.FileInfo数组。这是我的:funcGetFilesRecursively(searchDirectorystring)(foundFileList[]os.FileInfo,errorGeneratederror){fileList:=[]os.FileInfo{}allFilesAndFolders:=[]string{}//Getallthefilesanddirect

go - FileInfo.IsDir() 未检测到目录

我有一些代码遍历目录以获取文件,对它们进行操作,它使用IsDir()跳过目录。但是,未正确检测到目录:err=filepath.Walk(dir,func(pathstring,fos.FileInfo,errerror)error{if!f.IsDir(){fileList=append(fileList,path)}returnnil})错误:Putapp/javascripts:readpublic/app/javascripts:isadirectory我在OSX上。这是目录列表:drwxr-xr-x@6mestaff204Sep2511:28javascripts有没有更好的

c# - 在 C# 中将 FileInfo 对象序列化为 XML

我正在尝试序列化IEnumerable到XML中。我研究发现,因为FileInfo类没有无参构造函数,所以不能按原样序列化,应该使用包装类。为简单起见,我用来序列化的代码位于winforms按钮的单击事件中,如图所示。一旦它工作,我将重构它:privatevoidbutton1_Click(objectsender,System.EventArgse){IEnumerableallfiles=FileGetter.FileInfoAllFiles();FileListfilelist=newFileList();foreach(varfileinallfiles){filelist.A

c# - 获取文件移动日期时间

当您复制文件(在Windows环境中)时,Creation和LastAccess日期时间会被修改,并且可以使用FileInfo对象进行检索。但是,我找不到任何可靠的日期时间(直接链接到文件),当文件移动到文件夹中时会发生更改。Windows是否会在移动文件时更新文件中的任何日期时间值(并且可以检索)?注意我没有走入死胡同,我有很多解决方法。我只是想知道这是否可以直接在文件级别处理以避免不必要的逻辑。 最佳答案 所以这似乎是它在Windows中的工作方式:创建时间:如果目标文件已经存在,则保留其创建时间,否则设置为当前系统时间。上次修

c# - 如何从驱动器的全名中获取驱动器号

如何在Windows下使用C#从驱动器(例如WORKMEMORYSTICK)的已知全名(如果存在)中获取驱动器号(例如F:\)?即使反过来也是一个开始。 最佳答案 DriveInfo类公开了一种获取所有可用驱动器(GetDrives)的方法,您可以枚举这些驱动器以匹配您给定的字符串。像下面这样的东西应该可以帮助你到达那里:DirectoryInforoot;vardrives=DriveInfo.GetDrives();foreach(vardriveindrives){if(drive.VolumeLabel==label){ro

c# - 如何仅在本地文件较旧时下载文件

我正在尝试比较两个文件,一个在本地计算机上,另一个在网络服务器上,如果网络服务器上的文件较新,则会下载/覆盖本地文件。虽然FileInfo不会采用URI,但有人可以推荐一种解决方法吗privatevoidcheckver(){FileInfosourceFile=newFileInfo("download.zip");if(sourceFile.Exists){FileInfodestFile=newFileInfo(@"http://www.google.com/download.zip");if(destFile.Exists&&destFile.LastWriteTime>=so

c# - 我可以将 Stream 对象转换为 FileInfo 对象吗?

对于ExcelPackage构造函数,您需要一个FileInfo对象。我宁愿使用某种流对象(例如MemoryStream),因为我不需要将文件保存到服务器本身,而是将它作为FileStream公开给用户。我不想制作我必须稍后从服务器中删除的文件,这些文件仅用于生成目的并且再也不会使用。除此之外,否则我还需要应用程序/用户对服务器上的目录/文件的必要权限。那么我的问题是:如何将流对象转换为FileInfo对象。 最佳答案 您不能将Stream本身转换为FileInfo;它们代表完全不同的事物。Stream包含的数据可能表示也可能不表示

c# - 在 C# 中缓存 FileInfo 属性

来自MSDNdocumentation对于FileInfo.Name属性,我看到该属性的数据在第一次被调用时被缓存,并且只会在随后使用Refresh方法进行更新。我有以下问题,但我在文档中找不到或不太清楚:所有属性的数据是否同时缓存?Refresh方法是在创建FileInfo时调用,还是仅在第一次调用属性时调用?如果我调用一处特性,例如Name属性,它被称为Refresh,将调用不同的属性,例如DirectoryName属性,第一次导致它再次调用Refresh,还是仅由整个类中访问的第一个属性调用(参见问题#1)?我可以通过手动调用Refresh来预缓存所有属性吗?(假设它没有在构建对

c# - BackgroundWorker & Timer,只读取日志文件的新行?

我的应用程序写入一个日志文件(当前使用log4net)。我想设置一个计时器和一个后台worker来读取日志文件并将其内容打印到我的表单中的某个控件中,同时它正在被写入。我不能使用FileSystemWatcher类,因为它似乎损坏了:有时事件“更改”会触发,有时不会。而且它的“池化率”极低。所以我创建了一个Timer和一个FileSystemWatcher。在计时器的“滴答”事件中,后台工作人员执行其工作。问题是:如何只读取自worker上次检查后添加的行?publicLogForm(){InitializeComponent();logWatcherTimer.Start();}pr