---
source_url: https://docs.dolphindb.cn/zh/funcs/w/write.html
fetched_at: 2026-05-19T09:44:06Z
category: funcs
title: write
sha1: 260d7979fba5ff38f6fd19efbe0b42c51fde76ca
---

# write

## 语法

`write(handle, object, [offset=0], [length])`

## 详情

`write`
函数把指定的缓冲区转换为字节流，并保存到文件中。缓冲区可以是各种数据类型。如果发生了错误，将抛出
IOException。否则，函数返回写入元素的个数（而不是字节数）。`read!`
函数将给定数量的元素读取到缓冲区。例如，如果缓冲区是 INT 向量，该函数将把文件中的字节转换为 INT。`write` 和
`read`
函数都涉及到流和字节之间的转换问题，和计算机科学中多字节的字的0端问题。大端的最重要位位于最低地址，而小端的最不重要位位于最低地址。`write`
函数总是使用操作系统的大小端。如果文件的大小端和操作系统的大小端不同，`read!` 函数将转换大小端。在使用
`file` 函数打开文件时，有可选的布尔参数用于表明文件采用的大小端。默认情况下，采用操作系统的大小端。

## 参数

**handle** 文件句柄，表示写入的目标文件。

**object** 要写入的数据对象，可以是各种数据类型的标量或向量。

**offset** 可选参数，整型标量，表示从 *object* 的哪个位置开始写入，默认值为 0。

**length** 可选参数，整型标量，表示要写入的元素个数（而非字节数）。若未指定，则从 *offset* 开始全部写入。

## 返回值

LONG 类型标量。

## 例子

```dolphindb
x=10h
y=0h
file("test.bin","w").write(x);
// output: 1
file("test.bin","r",true).read!(y);                // 假设文件格式是小端
// output: 1
y;
// output: 10
file("test.bin","r",false).read!(y);        // 假设文件格式是大端
// output: 1
y;
// output: 2560
```
