如何使用Swift代码删除用户配置目录下的文件并将用户名设为动态变量
方案1:直接获取用户名变量
可以通过Foundation内置的NSUserName()方法直接获取当前系统登录用户的用户名,替换硬编码的UserName字段即可:
let userName = NSUserName() let filePathString = "file:///Users/\(userName)/.ssh/known_hosts" guard let fileUrl = URL(string: "\(filePathString)") else { return } do { try FileManager.default.removeItem(at: fileUrl) print("Remove successfully") } catch let error as NSError { print("An error took place: \(error)") }
方案2(更推荐):用系统API构造路径,避免手动拼接
手动拼接用户目录路径兼容性差,更推荐使用FileManager原生方法直接获取用户目录构造目标路径,不需要处理用户名和路径前缀,出错概率更低:
// 直接获取当前用户的home目录 guard let userHomeUrl = FileManager.default.urls(for: .userDirectory, in: .userDomainMask).first else { return } // 追加路径得到known_hosts的完整路径 let fileUrl = userHomeUrl.appendingPathComponent(".ssh/known_hosts") do { try FileManager.default.removeItem(at: fileUrl) print("Remove successfully") } catch let error as NSError { print("An error took place: \(error)") }
内容的提问来源于stack exchange,提问作者Kênh Vui Để Học
相关产品推荐
相关产品推荐

