잠시만 기다려 주세요


 
HOME   |  여기는?   |  바다물때표   |  여러가지 팁 (822)  |  추천 및 재미 (80)  |  자료실 (18)  |  끄적거림 (468)  |  시나리오 (760)  |  드라마 대본 (248)  |  

2019년 12월 16일
나에게는 더 큰 미래가 있다. 그것만 알고 그것만을 위해 달려라.. 그러면 사람은 지나치게 마련이다. - 바다아이
 




    golang

golang - golang Insert Line or String to File, 파일의 특정 행에, 라인에, 원하는 줄에 텍스트 삽입하기, 입력하기, 추가하기
이 름 : 바다아이   |   조회수 : 1297         짧은 주소 : https://www.bada-ie.com/su/?491527857420
package main

import (
	"bufio"
	"log"
	"os"
	"runtime"
)

func InsertStringToFile(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)
	}
}

func main() {
	// 0 넣으면 안 들어 갑니다. 1 번줄부터입니다. 또한 파일의 전체 행수보다 지정한 행이 크면 제일 마지막에 들어갑니다.
	InsertStringToFile("test.txt", "20hello world!", 20)
}
| |


      1 page / 6 page
번 호 카테고리 제 목 이름 조회수
171 golang golang ... 바다아이 483
170 golang golang gopath, goroot .. 바다아이 461
169 golang golang ... Force download file example 바다아이 833
168 golang golang , , cpu, memory, disk 바다아이 1199
167 golang golang , ... GOOS, GOARCH 바다아이 868
166 golang golang checkbox ... 바다아이 1043
165 golang golang , , http .... 바다아이 1041
164 golang golang nil , nil , nil ... 바다아이 1107
163 golang 2 golang, go , .... golang .... 바다아이 1482
162 golang golang postgresql, mysql, mariadb ... ` Grave () .. .. 바다아이 1180
161 golang golang postgresql mysql, mariadb scan , null .. 바다아이 1261
160 golang golang , iconv 바다아이 1351
159 golang golang quote escape, unquote 바다아이 1325
158 golang golang , http errorLog , , ... 바다아이 1382
157 golang golang interface , 바다아이 1343
156 golang golang struct .... 바다아이 1421
155 golang golang map map , 바다아이 1343
154 golang golang map .... .... 바다아이 1393
153 golang golang slice copy 바다아이 1280
152 golang golang goto 바다아이 1382
151 golang golang slice sort , int, string, float64 바다아이 1409
150 golang URL Parsing, url . parse 바다아이 1434
149 golang golang , interface{} ... 바다아이 1366
148 golang golang interface to string, , , map slice json 바다아이 1321
147 golang golang How to convert JSON string to map and slice, json 바다아이 1365
146 golang golang , file write, Writing Files 바다아이 1507
현재글 golang golang Insert Line or String to File, , , , , 바다아이 1298
144 golang golang replace 바다아이 1342
143 golang golang split explode , , ... 바다아이 1459
142 golang golang email read parse, , ..... .... 바다아이 1349
| |




Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 firefox 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ FreeBSD + GoLang + PostgreSQL ]
서버위치 : 서울 Amazon Lightsail  실행시간 : 0.02033
to webmaster... gogo sea. gogo sea.