golang - golang Insert Line or String to File, 파일의 특정 행에, 라인에, 원하는 줄에 텍스트 삽입하기, 입력하기, 추가하기
이 름 : 바다아이
|
조회수 : 9776
짧은 주소 : https://www.bada-ie.com/su/?771591872418
package main
import (
"bufio""log""os""runtime"
)
funcInsertStringToFile(path, str string, index int) {
if index != 0 {
runtime.GOMAXPROCS(runtime.NumCPU())
f, err := os.Open(path)
defer f.Close()
f2, err2 := os.Create(path + "2")
defer f2.Close()
_ = err2
i := 1
fileContent := 0
w := bufio.NewWriter(f2)
if err == nil {
scanner := bufio.NewScanner(f)
for scanner.Scan() {
line := scanner.Text()
if i == index {
w.WriteString(str + "\n" + line + "\n")
} else {
w.WriteString(line + "\n")
}
i++
}
if err := scanner.Err(); err != nil {
log.Println(err)
}
fileContent = 1
}
if fileContent == 1 && i-1 < index {
w.WriteString(str + "\n")
}
if fileContent == 0 && i == 1 {
w.WriteString(str + "\n")
}
w.Flush() // Don't forget to flush!
_ = os.Rename(path+"2", path)
}
}
funcmain() {
// 0 넣으면 안 들어 갑니다. 1 번줄부터입니다. 또한 파일의 전체 행수보다 지정한 행이 크면 제일 마지막에 들어갑니다.
InsertStringToFile("test.txt", "20hello world!", 20)
}
|
|
번 호
카테고리
제 목
이름
조회수
Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 firefox 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ Ubuntu + GoLang + PostgreSQL + Mariadb ]
서버위치 : 오라클 클라우드 춘천 실행시간 : 0.2687 초 to webmaster... gogo sea. gogo sea.