:sig String file_read(u64 h, u64 len) :params h : handle from file_open() opened for reading len : maximum number of bytes to read return value : up to `len` bytes from the current offset (shorter at end of file) :content Reads up to `len` bytes starting at the handle's current offset and advances the offset. Returns fewer bytes (or `""`) at end of file. Use `file_seek()` to move the offset, or `file_pread()` to read at an absolute offset without moving it. :example u64 w = file_open("/tmp/doc-read.txt", "w"); file_write(w, "hello world"); file_close(w); u64 r = file_open("/tmp/doc-read.txt", "r"); print(file_read(r, 5), "\n"); file_close(r); :see >sys file_open file_pread file_seek file_close