怎么用UE对两个txt文档进行比对。

怎么用UE对两个txt文档进行比对。,第1张

文件→比较文件→上边的复选框可以按需求点选。下边的第一个文件,第二个文件,分别选择文件后,点比较。d出UE比较框,里边会用颜色标出不同的行,双击该行会跳到不同的地方,在UE比较里边有上一个下一个,是选择下一个不同点。

上边复选框的颜色区分差异行、忽略空白,这两个选项我觉得是比较有用的

好用的话记得给分呀,嘿嘿

UltraCompare是一款非常优秀的文件比较工具,可以对文件、文件夹和压缩文件进行比对或者合并。在处理文件和文档过程中,进行文档比较和合并非常重要。

图1:UC软件主界面

UltraCompare支持二进制内容比较,因此大家可以使用 UltraCompare 比较很多格式的文件。例如通过比较 exe 程序或 apk 应用文件,研究修改版与原版的区别差异。而今天小编给大家介绍的是使用这款软件进行Word文档比较的方法。

打开Word文档

图2:打开Word文档

在文件菜单栏中选择打开,然后选择需要进行比较的Word文档。除此之外,还可以选择软件首页“文档”按钮,直接进行比较。

图3:拖动文件界面

将需要比较的两个文件拖入软件界面中,可能需要等待一段时间软件会将两个文档加载出来,加载过程所需要的时间视计算机的性能而定。

进行差异比较

图4:差异比较

可以看到,通过显示的颜色区分,能轻松查看文件之间的差异。如果需要更改配色方案,UltraCompare 也允许为比较块配置差异颜色以及字符颜色差异。

编辑文件

如果需要在比较以后进行文件的修改,可以直接让光标在两个文档之间进行切换,并在文件编辑界面直接进行修改。

图5:刷新按钮

如果文件修改后其比较结果没有即时更新,可以点击软件上方的刷新按钮,点击后即可查看当前的最新比较结果。

合并更改

图6:合并更改

根据需要,在比较完文件并编辑完成后,可以选择进行文件合并。软件提供了将第一个文件合并到第二个文件、将第二个文件合并到第一个文件等多种合并方式。

保存更改

图7:保存结果

在合并文档之后仍然需要注意,只有在软件中选择“保存合并的更改”以后,结果才被真正保存下来。

UE有很多针对多平台的 *** 作,其中文件 *** 作也属于跨平台有差异的 *** 作,UE4将跨平台文件封装在FPlatformFileManager::Get().GetPlatformFile()之中

如果没有耐心看细节,只想搬砖就看这里吧

以我的工程myproject为例

先来个常规四件套

CreateDirectoryTree

FPlatformFileManager::Get().GetPlatformFile().CreateDirectoryTree通过调用InternalCreateDirectoryTree,递归的创建所有的目录,就是说,即使父目录不存在,也会生成相应的目录。

CreateDirectory

这个函数在IPlatformFile中没有实现,是由具体的平台子类实现的,也就是说这个函数才是真的创建目录的函数,这个函数在父目录不存在的时候,会返回false。

通过拷贝增加文件夹CopyDirectoryTree

/**

DeleteDirectoryRecursively

DeleteDirectoryRecursively通过FDirectoryVisitor,使用迭代器访问文件夹,然后将文件夹中的文件和文件夹全部删除,这个 *** 作是CreateDirectoryTree的逆 *** 作,不同点在于这个 *** 作同时处理了文件。

这个 *** 作执行之后会自己检查刚才删除的文件夹是否还在,如果不在的话,返回成功,否则返回失败。

DeleteDirectory

对应于CreateDirectory,也没有实现,是由具体的平台子类实现的,同样在删除失败之后会报错。

IterateDirectory

UE4定义了IterateDirectory,这个函数由两个参数,一个是路径,一个是对便利到的路径做 *** 作的Visitor,这个Visitor同样是只有一个接口,具体实现可以自己写。通过Visitor 和IterateDirectory的相互调用实现了递归 *** 作目录的目的。

IterateDirectoryRecursively

IterateDirectoryRecursively遍历文件夹的所有子文件夹,并且通过parallelfor加快了访问速度,在访问中对访问进行写锁定,并通过底层机制是否线程安全选择是否多线程执行,是很不错的便利文件夹的 *** 作,同时这个访问也要求重写访问到指定目录之后需要做的 *** 作,这里只需要执行具体 *** 作就可以了。

这个 *** 作也是由平台子类实现,进行文件存在性检测,如果不存在就返回false

通过拷贝增加文件CopyFile

拷贝文件到指定路径,如果拷贝失败或者目标路径有同名文件,会返回失败

DeleteFile

删除指定的文件,具体实现由平台子类实现

检查是否可以修改IsReadOnly

通过IsReadOnly检查文件是否可以修改,具体实现由平台子类实现

设置是否可以修改SetReadOnly

通过SetReadOnly设置文件是否可以被修改,具体实现由平台子类实现

移动文件位置或者修改文件名称MoveFile

通过MoveFile可以移动文件,如果源路径和目标路径的目录相同,就是修改文件名称了

读取文件类容 OpenRead

/** Attempt to open a file for writing. If successful will return a non-nullptr pointer. Close the file by delete'ing the handle. /

virtual IFileHandle OpenWrite(const TCHAR Filename, bool bAppend = false, bool bAllowRead = false) = 0

/**

* Finds all the files within the given directory, with optional file extension filter

* @param Directory The directory to iterate the contents of

* @param FileExtension If FileExtension is NULL, or an empty string "" then all files are found.

* Otherwise FileExtension can be of the form .EXT or just EXT and only files with that extension will be returned.

* @return FoundFiles All the files that matched the optional FileExtension filter, or all files if none was specified.

/

virtual void FindFiles(TArray<FString>&FoundFiles, const TCHAR Directory, const TCHAR* FileExtension)

/**

* Finds all the files within the directory tree, with optional file extension filter

* @param Directory The starting directory to iterate the contents. This function explores subdirectories

* @param FileExtension If FileExtension is NULL, or an empty string "" then all files are found.

* Otherwise FileExtension can be of the form .EXT or just EXT and only files with that extension will be returned.

* @return FoundFiles All the files that matched the optional FileExtension filter, or all files if none was specified.

/

virtual void FindFilesRecursively(TArray<FString>&FoundFiles, const TCHAR Directory, const TCHAR* FileExtension)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12037800.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存