import PerfectLib
声明完成之后,即可开始使用File文件对象来实现在文件系统中的查询和文件 *** 作。
配置File文件对象
使用File文件对象时,请指定文件的绝对或相对路径:
let thisFile = File("/path/to/file/helloWorld.txt")
如果您对文件路径还不熟悉,请先阅读目录与路径
打开文件用于读写 *** 作
注意: 在写入文件 *** 作之前(即使是个新文件)文件需要对应的权限才能打开。
打开一个文件:
try thisFile.open(<OpenMode>,permissions:<PermissionMode>)
写入文件的例子:
let thisFile = File("helloWorld.txt")
try thisFile.open(.readWrite)
try thisFile.write(string: "你好!")
thisFile.close()
对于文件打开的具体模式OpenMode 和文件权限模式 PermissionMode ,请参考本文附录的详细定义。
检查文件是否存在
请使用exists方法检查文件是否存在。该方法返回一个布尔值,真表示存在,假表示不存在。
thisFile.exists
获取文件修改时间
调用下面的函数将返回一个整数,其含义为自格林威治时间1970/01/01 00:00:00到最后一次修改文件的时间之间的秒数:
thisFile.modificationTime
文件路径
无论文件参考对象是如何定义的,文件所在的绝对路径和内部参考路径都可以通过以下访问获取具体信息:
返回系统内部参考路径"internal reference":
thisFile.path
返回文件的绝对路径(物理路径)方法(如果当前文件为符号链接,则同样其链接也会被解析为绝对路径):
thisFile.realPath
关闭一个文件
一旦文件被打开并执行读写 *** 作,随时可以在程序内选择用close方法关闭,或使用defer方法挂起:
let thisFile = File("/path/to/file/helloWorld.txt")
// 在此处进行文件读写 *** 作处理
thisFile.close()
删除一个文件
如果需要从文件系统中删除一个文件,请使用delete()方法。
thisFile.delete()
调用删除方法时会自动关闭文件,因此不需要提前进行额外的close()关闭 *** 作。
查询文件大小尺寸
调用size方法可以返回文件大小的字节数,返回值为整数。
thisFile.size
判断文件是否为一个符号链接
用下面的方法来判断当前文件对象是否为一个符号链接,如果是符号链接则返回值为布尔类型的true,真值,反之为false假。
thisFile.isLink
判断当前文件对象是否为一个目录
用isDir 方法来判断当前文件对象是否为一个目录节点,如果是则返回值为布尔类型的true,真值,反之为false假。
thisFile.isDir
获取文件的UNIX权限信息
调用perms 函数可返回文件的权限信息,返回值为一个PermissionMode对象。
thisFile.perms
比如:
print(thisFile.perms)
>>PermissionMode(rawValue: 29092)
读取文件内容
readSomeBytes
根据指定的字节数量读取文件内容:
let thisFile = File("/path/to/file/helloWorld.txt")
let contents = try thisFile.readSomeBytes(count: <Int>)
参数说明
该方法的参数为计划读取的字节数量。比如,下面的例子说明了如何从文件中读取10字节数据:
let thisFile = File("/path/to/file/helloWorld.txt")
let contents = try thisFile.readSomeBytes(count: 10)
print(contents)
>>[35, 32, 80, 101, 114, 102, 101, 99, 116, 84]
readString
readString方法能够将整个文件的数据读取到一个字符串:
let thisFile = File("/path/to/file/helloWorld.txt")
let contents = try thisFile.readString()
文件写 *** 作、拷贝和移动
注意 在写文件之前(即使是一个新文件)必须要确认文件 *** 作具备响应的权限。
向文件内写入字符串
使用write方法以UTF-8编码格式向文件创建或写入一个字符串。如果写入成功,则返回具体写入的字节数。
注意该方法会使用@discardableResult属性,所以如果需要的话,即便没有对该属性赋值,也会在调用过程中被使用。
let bytesWritten = try thisFile.write(string: <String>)
将字节数组写入到一个文件
字节数组bytes同样可以直接写入到一个文件。该方法如果调用成功则返回实际写入的字节数。
注意该方法会使用@discardableResult属性,所以如果需要的话,即便没有对该属性赋值,也会在调用过程中被使用。
let bytesWritten = try thisFile.write(
bytes: <[UInt8]>,
dataPosition: <Int>,
length: <Int>
)
参数说明
bytes: 待写入的无符号8位整型数组
dataPosition: 可选参数 在bytes对象中待写入字节的偏移量。如果该参数不为0,则写入时从字节数组的该参数指定字节处开始写入,之前内容会被忽略
length: 可选参数 需要写入的具体字节数量
移动一个文件
文件对象一旦定义成功,就可以随时调用moveto方法,将文件移动到一个新的路径位置上。该方法也可以用于给文件改名。 *** 作完成后,该方法返回一个代表新位置的新的文件对象。
let newFile = thisFile.moveTo(path: <String>, overWrite: <Bool>)
参数说明
path: 移动的目标路径
overWrite: 可选参数 如果目标路径文件已经存在,则进行覆盖 *** 作。默认值为假false
1、要使用swift须拥有一台苹果电脑。因为集成开发环境XCode只能运行在OS X系统上。电脑系统必须在OS 10.9.3及以上,电脑必须安装Xcode集成开发环境。
2、下载完成后,双击下载的 dmg 文件安装,安装完成后我们将 Xcode 图标踢移动到应用文件夹。Xcode 安装完成后,就可以开始编写 Swift 代码了。接下来我们在应用文件夹打开 Xcode,打开后在屏幕顶部选择 File =>New =>Playground。接着 为 playground 设置一个名字并选择 iOS 平台。
3、如果你想创建 OS x 程序,需要导入 Cocoa 包 import Cocoa以上程序载入后,会在Playground 窗口右侧显示程序执行结果。
4、选择一个Single View Application,并点击next,创建一个简单示例app应用。
5、接着我们输入项目名称(ProductName),公司名称(Organization Name),公司标识前缀名(Organization identifier) 还要选择开发语言(Language),选择设备(Devices)。其中Language有两个选项:Objective-c和swift,因为我们是学习swift当然选择swift项了。 点击Next下一步。
6、选择存放的目录,如果要使用Git源代码管理,将勾上Source Control的create git repository on My Mac. 点击create创建项目。
7、项目创建后,默认生成了一个示例文件,可以看到swift将oc中的h和m文件合并成了一个文件(即swift后缀名文件). Main.storyboard相当于xib文件,有比xib更多的功能。
8、打开main.storyboard,默认看到一个简单的空白的应用界面,大小为平板界面大小。 如果开发都只需要开发兼容iphone手机的app,那么可以把Use Auto Layout的勾去掉(默认为勾上)。d出了一个对话框,让我们选择界面尺寸,iPhone 或 iPad。我们选择iPhone的尺寸。
9、界面添加点内容,在右下方找到Text控件,将它拖入storyboard上,并双击写入文本Hello World!
10、运行一下模拟器(command+R 快捷键或在菜单栏中选择 Product =>Run)。
至此,第一个Swift项目就完成了。
10、swift介绍
《Swift》是一种支持多编程范式和编译式的开源编程语言,苹果于2014年WWDC(苹果开发者大会)发布,用于开发 iOS,OS X 和 watchOS 应用程序。 Swift 结合了 C 和 Objective-C 的优点并且不受 C 兼容性的限制。 Swift 在 Mac OS 和 iOS 平台可以和 Object-C 使用相同的运行环境。 2015年6月8日,苹果于WWDC 2015上宣布,Swift将开放源代码,包括编译器和标准库。
Swift 是一种全新的编程语言,结合了 C 和 Objective-C 的优点,并且不受C兼容性的限制。Swift 采用的安全编程模式添加了很多新特性,这使得编程更简单,更灵活,也更有趣。Swift 在 Foundation 和 Cocoa的基础上构建框架,并且采用了很多 Objective-C 的命名参数以及动态对象模型,并且支持过程式编程和面向对象编程。Swift 将现代编程语言的精华和苹果工程师文化的智慧结合了起来,既能够开发简单的小程序,也能够构建出一套完整的 *** 作系统。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)