ue备份文件|为什么在用UE编辑器编辑完文件后总产生一个后缀为bak的临时文件

Ⅰ 我用网页编辑器UE写html语言时怎么总又另外生成一个.html.bak文件

那个没关系的,是因为你的编辑器保存文件时创建了备份文件,我没用过你说的编辑器,但是EditPlus中有类似的设置,工具->首选项->文件 取消保存时创建备份文件的选项就可以了,如果想取消的话可以在可以在类似的设置里设置一下。

Ⅱ UE 文件夹和文件操作

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&#39ing 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);

Ⅲ 为嘛我用UltraEdit时总会出现一个后缀名为bak的文件

这是UltraEdit为了防止你误操作或其他原因造成你的文件丢失而做的备份,其实如果你认为没有必要的话,可以再UltraEdit中取消这个设置。具体如下:在UltraEdit的菜单栏中选高级-》配置,在配置对话框中选文件处理-》备份,在保存时备份文件那一栏选不备份就可以了

Ⅳ 为什么在用UE编辑器编辑完文件后,总产生一个后缀为.bak的临时文件

在"高级"–>"配置"–>"文件处理"–>"备份"–"保留文件备份(操作区)" 中选择 "不备份" 即可


赞 (0)