在Golang中,可以使用标准库中的"io/ioutil"、"os"和"path/filepath"包来进行文件操作。以下是一些常见的文件操作示例:
- 创建文件:
package main import ( "fmt" "os" ) func main() { file, err := os.Create("test.txt") if err != nil { fmt.Println("Error creating file:", err) return } defer file.Close() _, err = file.WriteString("Hello, World!") if err != nil { fmt.Println("Error writing to file:", err) return } fmt.Println("File created and written successfully.") }
- 读取文件:
package main import ( "fmt" "io/ioutil" ) func main() { data, err := ioutil.ReadFile("test.txt") if err != nil { fmt.Println("Error reading file:", err) return } fmt.Println("File content:", string(data)) }
- 打开文件:
package main import ( "fmt" "os" ) func main() { file, err := os.Open("test.txt") if err != nil { fmt.Println("Error opening file:", err) return } defer file.Close() data, err := ioutil.ReadAll(file) if err != nil { fmt.Println("Error reading file:", err) return } fmt.Println("File content:", string(data)) }
- 写入文件:
package main import ( "fmt" "io/ioutil" ) func main() { data := []byte("Hello, World!") err := ioutil.WriteFile("test.txt", data, 0644) if err != nil { fmt.Println("Error writing to file:", err) return } fmt.Println("File written successfully.") }
- 删除文件:
package main import ( "fmt" "os" ) func main() { err := os.Remove("test.txt") if err != nil { fmt.Println("Error deleting file:", err) return } fmt.Println("File deleted successfully.") }
- 重命名文件:
package main import ( "fmt" "os" ) func main() { err := os.Rename("test.txt", "new_test.txt") if err != nil { fmt.Println("Error renaming file:", err) return } fmt.Println("File renamed successfully.") }
- 获取文件信息:
package main import ( "fmt" "os" ) func main() { fileInfo, err := os.Stat("test.txt") if err != nil { fmt.Println("Error getting file info:", err) return } fmt.Println("File name:", fileInfo.Name()) fmt.Println("File size:", fileInfo.Size()) fmt.Println("File mode:", fileInfo.Mode()) fmt.Println("File modification time:", fileInfo.ModTime()) }
这些示例展示了如何在Linux环境下使用Golang进行基本的文件操作。你可以根据自己的需求进行修改和扩展。