Как удалить файлы в Golang
В этом уроке мы объясним, как удалить файлы в Golang.
При работе с файлами и каталогами иногда нам нужно удалить определенный файл или все файлы из каталога. В Golang очень просто удалить файл. В пакете os
есть методы Remove()
и RemoveAll()
, чтобы удалить файлы из каталога.
В этом руководстве мы объясним, как удалить определенный файл из каталога, а также удалить все файлы из каталога с помощью Golang.
Удаление определенного файла
Мы можем использовать метод Remove()
для удаления файлов из каталога. В приведенном ниже примере кода мы передадим путь к файлу для удаления.
package main
import (
"fmt"
"os"
)
func main() {
file := "C:/Go/bin/file/files/IMG_4322.jpg"
if err != nil {
fmt.Println(err)
return
}
fmt.Println("File delete successfully.")
}
Удаление всех файлов из каталога
Мы удалим все файлы, прочитав все файлы из каталога. Здесь мы откроем каталог с помощью метода os.Open()
, а затем прочитаем каталог с помощью метода Readdir
. Затем мы переберем все файлы и удалим один за другим, используя метод os.Remove()
.
package main
import (
"fmt"
"os"
)
func main() {
directory := "C:/Go/bin/file/files/"
readDirectory, _ := os.Open(directory)
allFiles, _ := readDirectory.Readdir(0)
for f := range(allFiles) {
file := allFiles[f]
fileName := file.Name()
filePath := directory + fileName
os.Remove(filePath)
fmt.Println("Deleted file:", filePath)
}
}
В приведенном выше примере кода будут удалены все файлы со следующими сообщениями:
Deleted file: C:/Go/bin/file/files/IMG_4322.jpg
Deleted file: C:/Go/bin/file/files/IMG_4323.jpg
Deleted file: C:/Go/bin/file/files/IMG_4324.jpg
Deleted file: C:/Go/bin/file/files/IMG_4325.jpg
Мы также можем удалить все файлы из каталога с помощью метода os.RemoveAll()
. Вот полный способ удаления всех файлов с помощью этого метода.
package main
import (
"fmt"
"os"
)
func main() {
directory := "C:/Go/bin/file/files/"
err := os.RemoveAll(directory)
if err != nil {
fmt.Println(err)
return
}
fmt.Println("All files deleted from directory.")
}