---
source_url: https://docs.dolphindb.cn/zh/funcs/r/readLines_.html
fetched_at: 2026-05-19T09:35:20Z
category: funcs
title: readLines!
sha1: 1724c47ac8a47357a78263d1930bb7d34a0eaadd
---

# readLines!

## 语法

`readLines!(handle, holder, [offset=0], [length=1])`

## 详情

从句柄中读取给定数量的字符串，并从指定位置开始，把读取结果保存至 *holder* 表示的变量中。

[readLines](readLines.html)
函数的每次调用都创建了一个字符串向量并返回。创建字符串向量需要一定的时间开销，所以如果在重复执行函数调用时，能重用相同的向量作为缓冲区的话，可以节约时间。
`readLines!`函数接受已存在的缓冲区作为数据容器。

下述的两个例子读取相同数量的数据 100 次，结果显示：`readLines!` 函数比
`readLines` 函数更快。

## 参数

**handle** 是文件句柄。

**holder** 是用于保存读取的数据的变量。

**offset** 表示数据保存至holder的起始位置。

**length** 是从文件中读取的行数。

## 返回值

返回实际读取的行数。

## 例子

```dolphindb
 timer(100){
 fin = file("test.txt")
 do{ y=fin.readLines(1024) } while(y.size()==1024)
 fin.close()
 };
// output
Time elapsed: 79.511 ms

 timer(100){
 fin = file("test.txt")
 y=array(STRING,1024)
 do{ lines = fin.readLines!(y,0,1024) } while(lines==1024)
 fin.close()
 };

// output
Time elapsed: 56.034 ms
```
