From bc5614d036760085940bfd324ab415e32dbbb6fe Mon Sep 17 00:00:00 2001 From: Phodal HUANG Date: Wed, 30 Oct 2019 10:27:02 +0800 Subject: [PATCH] refactor: extract file util --- refactor/{ => move_class}/move_class_app.go | 60 ++------------------- utils/file_util.go | 56 +++++++++++++++++++ 2 files changed, 61 insertions(+), 55 deletions(-) rename refactor/{ => move_class}/move_class_app.go (71%) create mode 100644 utils/file_util.go diff --git a/refactor/move_class_app.go b/refactor/move_class/move_class_app.go similarity index 71% rename from refactor/move_class_app.go rename to refactor/move_class/move_class_app.go index d9cf388..18cbed1 100644 --- a/refactor/move_class_app.go +++ b/refactor/move_class/move_class_app.go @@ -1,19 +1,18 @@ -package refactor +package move_class import ( "bufio" "fmt" "github.com/antlr/antlr4/runtime/Go/antlr" - "io" "io/ioutil" "log" "os" "path/filepath" "strings" - . "./base" - . "./base/models" - . "./utils" + . "../base" + . "../base/models" + . "../utils" ) var currentFile string @@ -141,7 +140,7 @@ func copyClass(originFile string, newFile string) { newFile = strings.ReplaceAll(newFile, ".", "/") + ".java" fmt.Println(originFile, newFile) - _, err := copy(originFile, newFile) + _, err := CopyFile(originFile, newFile) if err != nil { panic(err) } @@ -150,52 +149,3 @@ func copyClass(originFile string, newFile string) { func buildJavaPath(originFile string) string { return strings.ReplaceAll(originFile, ".", "/") + ".java" } - -func copy(src, dst string) (int64, error) { - sourceFileStat, err := os.Stat(src) - if err != nil { - return 0, err - } - - if !sourceFileStat.Mode().IsRegular() { - return 0, fmt.Errorf("%s is not a regular file", src) - } - - source, err := os.Open(src) - if err != nil { - return 0, err - } - defer source.Close() - - destination, err := os.Create(dst) - if err != nil { - return 0, err - } - defer destination.Close() - nBytes, err := io.Copy(destination, source) - return nBytes, err -} - -func MoveFile(sourcePath, destPath string) error { - inputFile, err := os.Open(sourcePath) - if err != nil { - return fmt.Errorf("Couldn't open source file: %s", err) - } - outputFile, err := os.Create(destPath) - if err != nil { - inputFile.Close() - return fmt.Errorf("Couldn't open dest file: %s", err) - } - defer outputFile.Close() - _, err = io.Copy(outputFile, inputFile) - inputFile.Close() - if err != nil { - return fmt.Errorf("Writing to output file failed: %s", err) - } - // The copy was successful, so now delete the original file - err = os.Remove(sourcePath) - if err != nil { - return fmt.Errorf("Failed removing original file: %s", err) - } - return nil -} diff --git a/utils/file_util.go b/utils/file_util.go new file mode 100644 index 0000000..e39914c --- /dev/null +++ b/utils/file_util.go @@ -0,0 +1,56 @@ +package utils + +import ( + "fmt" + "io" + "os" +) + +func CopyFile(src, dst string) (int64, error) { + sourceFileStat, err := os.Stat(src) + if err != nil { + return 0, err + } + + if !sourceFileStat.Mode().IsRegular() { + return 0, fmt.Errorf("%s is not a regular file", src) + } + + source, err := os.Open(src) + if err != nil { + return 0, err + } + defer source.Close() + + destination, err := os.Create(dst) + if err != nil { + return 0, err + } + defer destination.Close() + nBytes, err := io.Copy(destination, source) + return nBytes, err +} + +func MoveFile(sourcePath, destPath string) error { + inputFile, err := os.Open(sourcePath) + if err != nil { + return fmt.Errorf("Couldn't open source file: %s", err) + } + outputFile, err := os.Create(destPath) + if err != nil { + inputFile.Close() + return fmt.Errorf("Couldn't open dest file: %s", err) + } + defer outputFile.Close() + _, err = io.Copy(outputFile, inputFile) + inputFile.Close() + if err != nil { + return fmt.Errorf("Writing to output file failed: %s", err) + } + // The copyFile was successful, so now delete the original file + err = os.Remove(sourcePath) + if err != nil { + return fmt.Errorf("Failed removing original file: %s", err) + } + return nil +} -- GitLab