我無法找到如何在Swift中打開文件的示例,特別是從/ dev/random中讀取真正的隨機數字到數組中。 謝謝如何在Swift中讀取/ dev/random
1
A
回答
2
要回答關於閱讀文件的問題,您需要使用NSFileManager
。 Swift沒有自己的文件API。另外,你不能簡單地打開文件;您需要使用文件處理程序,因爲/dev/random
將永遠持續輸出。
下面是一個例子:
let manager = NSFileManager.defaultManager()
let randomPath = "/dev/random"
if manager.fileExistsAtPath(randomPath) {
let handle = NSFileHandle(forReadingAtPath: randomPath)
if let validHandle = handle {
let desiredLength = 256
// Warning: Instead of returning NSData?, this method throws an exception if there's an error. Consider adding additional error handling.
let fileData = validHandle.readDataOfLength(desiredLength)
let fileString = NSString(data: fileData, encoding: NSASCIIStringEncoding)
if (fileString != nil) {
println(fileString!)
}
}
}
例控制檯輸出:
¬Ñ@ < 4R-ÐÛÍäÓ - (*Âý3o÷ - »E2 @ AAX <øWýsñniâõãQüÕ£ÆsûÄÏþDÊU²OÑ9H)úûÓWhAóûoκfßpÍC% M¤ò«ÿ@' - gVüü]®%亞青{»J>時ä©æ¨Zì¿¿Bþxû,«1'-£¾E¸Ju|`ëérßNeòWÙé-I#ê05¿ JF-EE«I =¤< 5ë/pü¾üæü5è«ãå.öŪ¿¯¨ôø+EeÅþUå5ì%ÿ¼pÕÊ:oÐ
也就是說,如果你的目的是加載在陣列中的隨機數,你應該只使用arc4random_uniform()
,它會返回一個均勻分佈的隨機數:
var randomNumbers = [Int]()
for i in 1...10 {
randomNumbers.append(Int(arc4random_uniform(1000)))
}
println(randomNumbers)
輸出示例:
[27,796,150,439,955,678,556,816,571,130]
1
Just fo r爲了完整:您可以在C中使用與Swift中的open/read/write/close幾乎相同的方法:
var array = [UInt8](count: 10, repeatedValue: 0)
let fd = open("/dev/random", O_RDONLY)
if fd != -1 {
read(fd, &array, UInt(sizeofValue(array) * array.count))
close(fd)
println(array)
}
相關問題
- 1. 如何在Swift中讀取Plist?
- 2. 如何使用本地Swift方式在Swift 3中讀取Plist?
- 3. 在Swift中讀取NSNotification userInfo
- 4. 如何在Swift中從parse.com數據庫讀取unicode字符?
- 5. 如何在swift中讀取複雜的json響應?
- 6. 如何在swift中正確讀取外設值?
- 7. 如何在Swift中通過tcp socket讀取字符串
- 8. 在Swift中讀取JSON輸出
- 9. 在swift中讀取json數據
- 10. Swift - 讀取文件
- 11. 如何讀取在Java中
- 12. 如何讀取xcode/swift中的MySQL數據庫
- 13. 如何在swift中從addressBook獲取imageContact?
- 14. 如何在Swift中從NSDictionary獲取NSDictionary?
- 15. 如何在swift中獲取NsKeyValueObservationinfo?
- 16. 如何在Swift中獲取UIStoryboard數組?
- 17. Swift 3 ORSSerialPort從arduino讀取
- 18. 使用swift讀取短信
- 19. Swift - 讀取管道輸入
- 20. 讀取UITextField Swift的值3
- 21. 從Swift 3中讀取txt文件
- 22. Swift,無法讀取url中的數據
- 23. 有沒有辦法在spritekit中讀取/獲取fps swift
- 24. 如何讀取文件數據在swift中應用文檔目錄?
- 25. 核心數據:如何在swift 3中編寫「通用」讀取/刪除函數?
- 26. 如何在while循環讀取行中讀取用戶?
- 27. 如何獲得在異步讀取中讀取的字節數?
- 28. 在Swift中從Firebase中讀取多個子節點
- 29. 在Swift中讀取二進制(.hgt)文件(將代碼從C++遷移到swift)
- 30. 如何在iPhone中讀取文件?
謝謝!我在遊樂場工作,我得到了你所得到的。 – 2014-11-01 22:12:31
@Amanda_Panda太棒了!很高興聽到。 – 2014-11-01 22:13:20