Swift3.0语言教程字符串与文件的数据转换

Swift3.0语言教程字符串与文件的数据转换,如果想要对字符串中的字符进行永久保存,可以将字符串中的字符写入到文件中。当然,开发者也可以将写入的内容进行读取,并转换为字符串。首先我们来看如何将字符串中的字符写入到文件中,要想实现此功能,需要使用到NSString中的write(toFile:atomically:encoding:)方法,其语法形式如下:

func write(toFile path: String, atomically useAuxiliaryFile: Bool, encoding enc: UInt) throws

其中,参数说明如下:

  • path:用来指定写入到文件的路径。
  • useAuxiliaryFile:用来指定是否先将字符串写入到辅助文档。
  • enc:用来指定编码格式。

【示例1-100】以下将字符串中的字符写入到File空文件中。

import Foundation

var str=NSString(string:"All things are difficult before they are easy.")

var path="/Users/mac/Desktop/File"

//写入

do{

   try str.write(toFile: path, atomically: true, encoding: String.Encoding.ascii.rawValue)

}catch{

   

}

运行效果如图1.1所示。

图1.1  运行效果

在此程序中我们提到了空文件,此文件的创建需要实现以下几步:

(1)在Xcode的菜单中选择“Flie|New|File…”命令,弹出Choose a template for your new file:对话框,如图1.2所示。

图1.2  Choose a template for your new file:对话框

(2)选择macOS的Other中的Empty模板,单击Next按钮,弹出文件保存位置对话框,如图1.3所示。

图1.3  文件保存位置对话框

(3)输入文件名称,选择好文件保存的位置后,单击Create按钮,此时一个File空文件就创建好了,如图1.4所示。

 

图1.4  File文件

通过NSString可以将字符串中的字符写入到指定文件中,还可以将文件中的内容读取出来。读取文件内容需要使用到NSString中的的init(contentsOfFile:encoding:)方法,其语法形式如下:

convenience init(contentsOfFile path: String, encoding enc: UInt) throws

其中,path用来指定需要读取文件的路径,enc用来指定编码格式。

【示例1-101】以下将读取文件File中的内容。

import Foundation

var path="/Users/mac/Desktop/File"

var str:NSString?=nil

//读取文件内容

do{

 str=try NSString(contentsOfFile: path,encoding: String.Encoding.ascii.rawValue)

}catch{

   

}

print(str!)

运行结果如下:

All things are difficult before they are easy.

Swift3.0语言教程字符串与文件的数据转换

相关阅读:Swift3.0语言教程字符串转换为数字值

Swift3.0语言教程字符串与文件的数据转换的更多相关文章

  1. Swift3.0语言教程字符串与URL的数据转换与自由转换

    Swift3.0语言教程字符串与URL的数据转换与自由转换 Swift3.0语言教程字符串与URL的数据转换 Swift3.0语言教程字符串与URL的数据转换与自由转换,字符串中的字符永久保存除了可以 ...

  2. Swift3.0语言教程字符串转换为数字值

    Swift3.0语言教程字符串转换为数字值 Swift3.0语言教程字符串转换为数字值,在NSString中,开发者可以将字符串转换为数字值,通过这些数字值可以实现一些功能,如加法运算.减法运算等.数 ...

  3. Swift3.0语言教程字符串大小写转化

    Swift3.0语言教程字符串大小写转化 Swift3.0语言教程字符串大小写转化,在字符串中,字符串的格式是很重要的,例如首字母大写,全部大写以及全部小写等.当字符串中字符很多时,通过人为一个一个的 ...

  4. Swift3.0语言教程分割字符串与截取字符串

    Swift3.0语言教程分割字符串与截取字符串 Swift3.0语言教程分割字符串 如果想要快速的创建一个数组,我们可以将字符串进行分割,分割后的内容将会生成一个数组.在NSString中有两个分割字 ...

  5. Swift3.0语言教程使用路径字符串

    Swift3.0语言教程使用路径字符串 Swift3.0语言教程使用路径字符串,路径其实是字符串的一种,我们称为路径字符串.本小节将讲解如何使用路径字符串. 1.组合路径 开发者可以将数组快速的组合成 ...

  6. Swift3.0语言教程使用URL字符串

    Swift3.0语言教程使用URL字符串 Swift3.0语言教程使用URL字符串,和路径一样,URL其实也是字符串,我们可以将这些字符串称为URL字符串.本小节将讲解URL字符串的使用. 1.编码 ...

  7. Swift3.0语言教程组合字符串

    Swift3.0语言教程组合字符串 Swift3.0语言教程组合字符串,当开发者想要将已经存在的字符串进行组合,形成一个新的字符串,可以使用NSString中的两个方法,分别为appending(_: ...

  8. Swift3.0语言教程替换子字符串

    Swift3.0语言教程替换子字符串 Swift3.0语言教程替换子字符串,替换子字符串其实就是将字符串中的子字符串删除,然后再进行添加.为了让这一繁琐的过程变的简单,NSString提供了替换子字符 ...

  9. Swift3.0语言教程查找字符集和子字符串

    Swift3.0语言教程查找字符集和子字符串 Swift3.0语言教程查找字符集和子字符串,在字符串中当字符内容很多时,我们就需要使用到查找字符集或者子字符串的方法.以下我们将讲解3种查找字符集和子字 ...

随机推荐

  1. 【编程题目】和为 n 连续正数序列

    51.和为 n 连续正数序列(数组).题目:输入一个正数 n,输出所有和为 n 连续正数序列.例如输入 15,由于 1+2+3+4+5=4+5+6=7+8=15,所以输出 3 个连续序列 1-5. 4 ...

  2. 关于Cookie和Session的优缺点

    关于Cookie和Session的优缺点 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案. Cookie的优缺点:优点:极高的扩展性和可用 ...

  3. win7画板橡皮擦改变大小

    按住CTRL键不放,再按小键盘上的“+”号键,可以将橡皮擦放大

  4. 解的个数(codevs 1213)

    题目描述 Description 已知整数x,y满足如下面的条件: ax+by+c = 0 p<=x<=q r<=y<=s 求满足这些条件的x,y的个数. 输入描述 Input ...

  5. python基础——迭代器

    python基础——迭代器 我们已经知道,可以直接作用于for循环的数据类型有以下几种: 一类是集合数据类型,如list.tuple.dict.set.str等: 一类是generator,包括生成器 ...

  6. auto(c++11)

    C++primer 第五版,第三章出现了此段程序,求解读附源码:代码1:#include<iostream>#include<string>using namespace st ...

  7. Swift - enumerateObjectsUsingBlock的用法

    enumerateobjectsusingblock:不是Array的方法在NSArray使用.如果你想使用它,你需要一个实例NSArray而不是Array. import Foundation va ...

  8. hdu 4911Inversion

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=4911 题意:给定一个序列和k,求在k次交换之后序列的逆序数,只能相邻两个数交换且只有左边的数大于右边时才能 ...

  9. logstash之multiline插件,匹配多行日志

    在外理日志时,除了访问日志外,还要处理运行时日志,该日志大都用程序写的,比如log4j.运行时日志跟访问日志最大的不同是,运行时日志是多行,也就是说,连续的多行才能表达一个意思. 在filter中,加 ...

  10. mysqlbinlog 查看日志时发生报错

    [root@cs Downloads]# mysqlbinlog mysql-bin. ERROR: Error , event_type: ERROR: Could not read entry a ...