在 Swift 中,您可以使用
InputStream
类来读取数据。以下是一个简单的示例代码,演示如何使用
InputStream
从文件中读取数据:
guard let inputStream = InputStream(fileAtPath: filePath) else {
print("无法创建输入流")
return
inputStream.open()
let bufferSize = 1024
var buffer = [UInt8](repeating: 0, count: bufferSize)
while inputStream.hasBytesAvailable {
let bytesRead = inputStream.read(&buffer, maxLength: bufferSize)
if bytesRead < 0 {
if let error = inputStream.streamError {
print("读取数据时发生错误:\(error.localizedDescription)")
break
if bytesRead == 0 {
break
let data = Data(bytes: buffer, count: bytesRead)
print("读取到数据:\(data)")
inputStream.close()
上面的代码首先创建一个 InputStream
对象,并打开它。然后,它定义一个缓冲区来存储从输入流读取的数据,以及一个变量来存储每次读取的字节数。
然后,代码使用 hasBytesAvailable
方法检查是否有数据可用于读取。如果有,它调用 read(_:maxLength:)
方法来读取数据。该方法将读取指定数量的字节,并将它们存储在缓冲区中。如果读取成功,则返回读取的字节数,如果遇到错误,则返回负数。如果没有更多数据可供读取,则返回 0。
在每次读取之后,代码使用 Data
类型将读取的字节转换为数据,并将其打印出来。最后,代码关闭输入流。
请注意,上面的代码仅是演示如何使用 InputStream
读取数据的简单示例。实际应用程序中,您可能需要处理更多的错误情况,并且可能需要使用更复杂的逻辑来处理读取的数据。