2016-04-20 11 views
1

私はJavaでコーディングしていましたが、今はスウィフト2を使って自分のアプリをiOSに移動したいのです。 したがって、新しい行のテキストを既存のtxtファイルアプリドキュメントで。新しい文字列をスウィフト2のtxtファイルに追加する

私が検索し、私はあなたがファイルに文字列を追加するには、以下の方法を使用することができ、この方法に

PrintWriter out=null; 
     try { 
      out=new PrintWriter(new FileWriter("file.txt",true)); 

        out.println("some txt"} 


       out.close(); 

     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

答えて

5

は、私はあなたがNSFileHandleを使用しなければならないと思う:

let dir:NSURL = NSFileManager.defaultManager().URLsForDirectory(NSSearchPathDirectory.CachesDirectory, inDomains: NSSearchPathDomainMask.UserDomainMask).last as NSURL 
    let fileurl = dir.URLByAppendingPathComponent("file.txt") 

    let string = "\(NSDate())\n" 
    let data = string.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)! 

    if NSFileManager.defaultManager().fileExistsAtPath(fileurl.path!) { 
     var error:NSError? 
     if let fileHandle = NSFileHandle(forWritingToURL: fileurl, error: &error) { 
      fileHandle.seekToEndOfFile() 
      fileHandle.writeData(data) 
      fileHandle.closeFile() 
     } 
     else { 
      println("Can't open fileHandle \(error)") 
     } 
    } 
    else { 
     var error:NSError? 
     if !data.writeToURL(fileurl, options: .DataWritingAtomic, error: &error) { 
      println("Can't write \(error)") 
     } 
    } 
10

を使用し非常に多くの方法が、そのすべてJavaで新しいtxtファイル

に上書きを試みた

func writeToFile(content: String, fileName: String) { 

    let contentToAppend = content+"\n" 
    let filePath = NSHomeDirectory() + "/Documents/" + fileName 

    //Check if file exists 
    if let fileHandle = NSFileHandle(forWritingAtPath: filePath) { 
     //Append to file 
     fileHandle.seekToEndOfFile() 
     fileHandle.writeData(contentToAppend.dataUsingEncoding(NSUTF8StringEncoding)!) 
    } 
    else { 
     //Create new file 
     do { 
      try contentToAppend.writeToFile(filePath, atomically: true, encoding: NSUTF8StringEncoding) 
     } catch { 
      print("Error creating \(filePath)") 
     } 
    } 
} 
関連する問題