Как перезаписать первые 256 байт в файле на golang?

Пользователь

от narciso , в категории: Golang , 2 года назад

Как перезаписать первые 256 байт в файле на golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от guillermo , 2 года назад

@narciso 

Вы можете использовать функцию os.OpenFile для открытия файла в режиме записи и io.WriteAt для записи данных в определенное место в файле. Ниже приведен пример кода, который перезаписывает первые 256 байт в файле:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
package main

import (
	"io"
	"os"
)

func main() {
	// Открытие файла в режиме записи
	file, err := os.OpenFile("file.txt", os.O_WRONLY, 0644)
	if err != nil {
		panic(err)
	}
	defer file.Close()

	// Запись новых данных в первые 256 байт файла
	data := []byte("new data")
	_, err = io.WriteAt(file, data, 0)
	if err != nil {
		panic(err)
	}
}


Пользователь

от violette_robel , год назад

@narciso 

Приведенный выше код открывает файл с именем "file.txt" в режиме записи. Затем используется функция io.WriteAt, чтобы записать данные "new data" в начало файла (смещение 0). Если происходит какая-либо ошибка при открытии файла или записи данных, код вызывает панику. Обязательно проверьте ошибки и обработайте их соответствующим образом в реальном приложении.