编写一个程序,使用ios:trunc方式打开文件(文件名:学号十姓名txt): 将图示文本内容写入文件中,并保存文件。 打开文本文件,读取文本内容,查找井获取字符串 “LiSi” 的位置, 井将 “LiSP” 眷換 “Wang Wu” 査找分隔符 “ --"的起止位置,并进行刷除
时间: 2024-10-11 14:03:06 浏览: 39
首先,让我们创建一个简单的iOS程序来完成这些任务。这个程序将使用`FileManager`和`String`操作来处理文件操作。由于实际的编程环境需要Xcode,这里提供的是Swift语言的一个概述:
```swift
import Foundation
// 1. 定义路径
let fileName = "学号十姓名.txt"
let filePath = Bundle.main.path(forResource: fileName, ofType: nil)! // 获取资源文件路径
// 2. 使用 trunc 方法截断文件名,如果存在则删除
let truncatedFileName = fileName.truncatingBeforeLastPathComponent // 如果是 "学号十姓名",结果将是 "姓名"
// 3. 创建或打开文件并写入新的内容
do {
let textToWrite = "李四 -- 王五 -- 课程列表\n"
try textToWrite.write(toFile: "\(truncatedFileName).txt", atomically: true, encoding: .utf8)
print("成功写入了新的文件")
} catch {
print("写入文件失败: \(error)")
}
// 4. 打开并读取文件内容
var content: String?
do {
content = try String(contentsOfFile: filePath, encoding: .utf8)
} catch {
print("读取文件失败: \(error)")
}
if let existingContent = content {
// 5. 查找“LiSi”的位置
let liSiIndex = existingContent.firstIndex(of: "LiSi") ?? -1
// 6. 替换"LiSP"为"Wang Wu"
var newContent = existingContent.replacingOccurrences(of: "LiSP", with: "王五", range: NSRange(location: liSiIndex, length: 3))
// 7. 分割内容并找到" --"的位置
let separatorIndex = newContent.index(before: newContent.startIndex, offsetBy: newContent.count - 2) // 假设 "--"出现在字符串结尾
let range = NSRange(location: separatorIndex, length: 2)
// 删除分隔符后的部分
newContent.removeSubrange(range)
// 8. 写回更新的内容到原文件
do {
try newContent.write(toFile: filePath, atomically: true, encoding: .utf8)
print("替换后的内容已保存")
} catch {
print("保存替换后内容失败: \(error)")
}
} else {
print("无法读取原始内容")
}
```
如果你是在Xcode环境中,你需要创建一个新的iOS项目,添加上述代码到合适的控制器中,并确保运行环境支持Swift 5或更高版本。
阅读全文
相关推荐
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)