首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XOJO简单文件复制

XOJO简单文件复制
EN

Stack Overflow用户
提问于 2013-07-13 20:24:28
回答 4查看 3.2K关注 0票数 1

非常基本的事情,我正在努力完成。

A将文件(图像)的源存储为字符串(简单路径)。

我想将该文件复制到自定义目标位置。更准确地说,是位于应用程序根目录中的文件夹名称映像。我查阅了文档,所有的文档都提到了FolderItem类,不幸的是,我搞不清楚。

有什么想法吗?

EN

回答 4

Stack Overflow用户

发布于 2013-07-13 23:56:55

FolderItem类有一个内置的FileCopy方法,我建议您学习FolderItem,因为从长远来看,它使文件处理变得容易得多,因为这确实是在Xojo/Real Studio中处理文件的惟一方法。

通常,folderitem类是使用GetFolderItem方法初始化的:

代码语言:javascript
复制
dim f as folderitem = GetFolderItem("somefile.pdf")

这个基本函数在与可执行文件相同的目录中查找pdf文件。如果文件在其他地方,您可以使用绝对路径,如"C:/SomeFolder/somefile.pdf“。

有一些被禁止访问的位置(应用程序数据、首选项等),访问它们的最简单方法是使用SpecialFolders对象。如果您的文件位于Application Data文件夹中,则应访问该文件夹:

代码语言:javascript
复制
dim f as folderitem = SpecialFolder.ApplicationData.child("somefile.pdf")

SpecialFolder.ApplicationData返回一个folderitem,子级查找该文件。Folderitem的子方法和父方法非常重要。

https://docs.xojo.com/index.php/GetFolderItem上有很多关于如何使用GetFolderItem的例子

SpecialFolder在https://docs.xojo.com/index.php/SpecialFolder上的解释

如果您想要视频培训,订阅者可以在http://www.bkeeney.com/XojoTraining/xojotraining.cgi上获得超过40小时的Real Studio和Xojo培训

票数 1
EN

Stack Overflow用户

发布于 2013-07-14 05:34:41

如果您不习惯面向对象的语法,只需将FolderItem看作是copy命令所在的位置。因此,在下面,我们创建两个FolderItem对象:一个用于源文件,另一个用于目标文件夹。完成后,我们可以使用FolderItem的CopyFileTo()方法来复制文件:

代码语言:javascript
复制
dim s as String
dim source as FolderItem
dim dest as FolderItem

s="C:\test.jpg"
source=GetFolderItem(s)

dest=GetFolderItem("C:\image")

source.CopyFileTo(dest)
票数 1
EN

Stack Overflow用户

发布于 2013-07-14 08:28:28

FolderItem class可以表示计算机上的任何文件或文件夹。要为特定绝对路径创建FolderItem实例,请将该路径传递给GetFolderItem方法并存储结果:

代码语言:javascript
复制
Dim SourceFile As FolderItem
SourceFile = GetFolderItem("C:\ExampleFolder\ExampleFile.txt", PathTypeAbsolute)

一旦构建了FolderItem,就可以修改它的属性并调用它的方法来影响对底层文件或目录的更改。

要将文件复制或移动到另一个目录,您需要获取代表目标目录的FolderItem。根据目的地的不同,您可以使用多种方法之一来获取目的地FolderItem。

例如,

代码语言:javascript
复制
Dim destination As FolderItem
destination = GetFolderItem("C:\DestinationExample\", PathTypeAbsolute)

或者,使用SpecialFolder模块:

代码语言:javascript
复制
destination = SpecialFolder.Desktop 'the user's desktop directory

或者,使用App classExecutableFile propertyparent文件夹

代码语言:javascript
复制
destination = App.ExecutableFile.Parent 'your app's directory

设置好源和目标FolderItems后,只需调用源FolderItem的CopyFileToMoveFileTo方法:

代码语言:javascript
复制
Dim SourceFile As FolderItem
SourceFile = GetFolderItem("C:\ExampleFolder\ExampleFile.txt", PathTypeAbsolute)

Dim destination As FolderItem
destination = GetFolderItem("C:\DestinationExample\", PathTypeAbsolute)

SourceFile.MoveFileTo(destination)
' or
SourceFile.CopyFileTo(destination)

请注意,CopyFileTo和MoveFileTo方法不能用于移动或复制目录,只能用于文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17630154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档