| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- package main
- import (
- "bytes"
- "fmt"
- "io/ioutil"
- "log"
- "os"
- )
- func main() {
- // readFile1()
- // readFile2()
- // readDir()
- // foo()
- foo2()
- }
- func readFile1() {
- var data []byte
- data, _ = ioutil.ReadFile("test_file.txt")
- fmt.Println(data)
- }
- func readFile2() {
- b := bytes.NewReader([]byte("Данные в объекте io.Reader"))
- data, _ := ioutil.ReadAll(b)
- fmt.Printf("%s\n", data)
- }
- func readDir() {
- dir, _ := os.ReadDir(".")
- for i, val := range dir {
- fmt.Println(i, val)
- }
- // fmt.Println(dir)
- }
- func writeFile1() {
- // func WriteFile(filename string, data []byte, perm os.FileMode) error
- }
- func foo() {
- dataForFile := []byte("Тестовая строка, предназначенная для записи в файл")
- // Создаем новый файл и записываем в него данные dataForFile
- if err := ioutil.WriteFile("test.txt", dataForFile, 0600); err != nil {
- fmt.Println("С записью в файл что-то пошло не по плану.")
- }
- // Читаем данные из того же файла
- dataFromFile, err := ioutil.ReadFile("test.txt")
- if err != nil {
- fmt.Println("С чтением из файла пошло что-то не так")
- }
- fmt.Printf("%s", dataFromFile)
- // Сравниваем исходные данные с записанными в файл и прочитанными из него
- fmt.Printf("dataForFile == dataFromFile: %v\n", bytes.Equal(dataFromFile, dataForFile))
- // Изучаем содержимое директории
- filesFromDir, err := ioutil.ReadDir(".")
- if err != nil {
- fmt.Println("С чтением директории пошло что-то не так.")
- }
- for _, file := range filesFromDir {
- // Проходим по всем найденным файлам и печатаем их имя и размер
- fmt.Printf("name: %s, size: %d\n", file.Name(), file.Size())
- }
- }
- func foo2() {
- dataForFile := []byte("Тестовая строка, предназначенная для записи в файл")
- file_name := "test_file.txt"
- // Создаем новый файл и записываем в него данные dataForFile
- if err := os.WriteFile(file_name, dataForFile, 0600); err != nil {
- log.Fatal(err)
- }
- // Читаем данные из файла
- dataFromFile, err := os.ReadFile(file_name)
- if err != nil {
- log.Fatal(err)
- }
- fmt.Printf("dataForFile == dataFromFile: %v\n", bytes.Equal(dataFromFile, dataForFile))
- // Получаем текущую директорию
- currentDir, err := os.Getwd()
- if err != nil {
- log.Fatal(err)
- }
- fmt.Println(currentDir)
- // Изучаем содержимое директории
- filesFromDir, err := os.ReadDir(currentDir)
- if err != nil {
- log.Fatal(err)
- }
- for _, file := range filesFromDir {
- // Проходим по всем найденным файлам и печатаем их имя и размер
- info, _ := file.Info()
- fmt.Printf("|_name: %s, size: %d\n", file.Name(), info.Size())
- }
- /*
- // Изучаем содержимое директории
- entries, err := os.ReadDir("./")
- if err != nil {
- fmt.Println("С чтением директории пошло что-то не так.")
- }
- for _, e := range entries {
- fmt.Println(e.Name())
- }
- */
- }
|