Swift文本文件到字符串数组

时间:2015-03-23 18:19:57

标签: string file swift

我想知道将文本文件读入字符串数组中最简单,最干净的是快速的。

文字档案:

line 1
line 2
line 3 
line 4

进入这样的数组:

var array = ["line 1","line 2","line 3","line 4"]

我也想知道如何在这样的结构中做类似的事情:

Struct struct{
   var name: String!
   var email: String!
}

所以取一个文本文件并将其放入数组的struct中。

感谢您的帮助!

6 个答案:

答案 0 :(得分:13)

针对Swift 3进行了更新

Connection conn = null;

try{
     Class.forName("com.mysql.jdbc.Driver");
 conn =DriverManager.getConnection
 ("jdbc:mysql://localhost:3306/userpass","root", "root"); //removed after userpass
     if(conn!=null)
     out.println("connected to database successfully");
     else
     out.println("not connected to database");

  }catch(Exception e)
  {
   out.println(e);
 }

答案 1 :(得分:9)

首先你必须阅读文件:

let text = String(contentsOfFile: someFile, encoding: NSUTF8StringEncoding, error: nil)

然后使用componentsSeparatedByString方法将其分开:

let lines : [String] = text.componentsSeparatedByString("\n")

答案 2 :(得分:2)

以下是将字符串转换为数组的方法(一旦读入文本):

var myString = "Here is my string"

var myArray : [String] = myString.componentsSeparatedByString(" ")

这将返回一个包含以下值的字符串数组:["Here", "is", "my", "string"]

答案 3 :(得分:2)

更新了Swift 5:

const路径包含文件路径。

do {
    let path: String = "file.txt"
    let file = try String(contentsOfFile: path)
    let text: [String] = file.components(separatedBy: "\n")
} catch let error {
    Swift.print("Fatal Error: \(error.localizedDescription)")
}

如果您想逐行打印file.txt内的内容:

for line in text {
    Swift.print(line)
}

答案 4 :(得分:2)

斯威夫特4:

do {
    let contents = try String(contentsOfFile: file, encoding: String.Encoding.utf8)
    let lines : [String] = contents.components(separatedBy: "\n")    
} catch let error as NSError {
    print(error.localizedDescription)
}

答案 5 :(得分:1)

在Swift 3中对我的工作如下:

Import Foundation

let lines : [String] = contents.components(separatedBy: "\n")