files


Examples of creating, opening, writing, reading, closing, and deleting files.

Node.js

  1. const fs = require('fs')
  2. // create file
  3. fs.closeSync(fs.openSync('test.txt', 'w'))
  4. // open file (returns file descriptor)
  5. const fd = fs.openSync('test.txt', 'r+')
  6. let wbuf = Buffer.from('hello world.')
  7. let rbuf = Buffer.alloc(12)
  8. let off = 0
  9. let len = 12
  10. let pos = 0
  11. // write file
  12. fs.writeSync(fd, wbuf, pos)
  13. // read file
  14. fs.readSync(fd, rbuf, off, len, pos)
  15. console.log(rbuf.toString())
  16. // close file
  17. fs.closeSync(fd)
  18. // delete file
  19. fs.unlinkSync('test.txt')

Output

  1. hello world.

Go

  1. package main
  2. import (
  3. "fmt"
  4. "os"
  5. "syscall"
  6. )
  7. func main() {
  8. // create file
  9. file, err := os.Create("test.txt")
  10. if err != nil {
  11. panic(err)
  12. }
  13. // close file
  14. file.Close()
  15. // open file
  16. file, err = os.OpenFile("test.txt", os.O_RDWR, 0755)
  17. if err != nil {
  18. panic(err)
  19. }
  20. // file descriptor
  21. fd := file.Fd()
  22. // open file (using file descriptor)
  23. file = os.NewFile(fd, "test file")
  24. wbuf := []byte("hello world.")
  25. rbuf := make([]byte, 12)
  26. var off int64
  27. // write file
  28. if _, err := file.WriteAt(wbuf, off); err != nil {
  29. panic(err)
  30. }
  31. // read file
  32. if _, err := file.ReadAt(rbuf, off); err != nil {
  33. panic(err)
  34. }
  35. fmt.Println(string(rbuf))
  36. // close file (using file descriptor)
  37. if err := syscall.Close(int(fd)); err != nil {
  38. panic(err)
  39. }
  40. // delete file
  41. if err := os.Remove("test.txt"); err != nil {
  42. panic(err)
  43. }
  44. }

Output

  1. hello world.