entry.go 1020 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package main
  2. import (
  3. "bufio"
  4. "fmt"
  5. "io"
  6. "log"
  7. "os"
  8. "strings"
  9. )
  10. func FileToStr(filename string) string {
  11. var txtlines string
  12. file, err := os.Open(filename)
  13. if err != nil {
  14. log.Panic(err)
  15. }
  16. scanner := bufio.NewScanner(file)
  17. scanner.Split(bufio.ScanLines)
  18. for scanner.Scan() {
  19. txtlines += scanner.Text()
  20. }
  21. file.Close()
  22. return txtlines
  23. }
  24. func convEscapeStr(str string) string {
  25. var newStr string
  26. newStr = str
  27. newStr = strings.ReplaceAll(newStr, "\r\n", "")
  28. newStr = strings.ReplaceAll(newStr, "\"", "\"\"")
  29. newStr = strings.ReplaceAll(newStr, "'", """)
  30. return newStr
  31. }
  32. func strToFile(str string, filename string) error {
  33. file, err := os.Create(filename)
  34. if err != nil {
  35. return err
  36. }
  37. defer file.Close()
  38. _, err = io.WriteString(file, str)
  39. if err != nil {
  40. return err
  41. }
  42. return file.Sync()
  43. }
  44. func main() {
  45. fmt.Println("Hello, World!")
  46. text := FileToStr("test.txt")
  47. newText := convEscapeStr(text)
  48. err := strToFile(newText, "newtest.txt")
  49. if err != nil {
  50. log.Fatal(err)
  51. }
  52. }