📄 一个 2 GB 的日志文件,记事本打不开、VS Code 也卡。这个工具只读你要看的那一段,几 GB 的文件也能秒开。文件不上传,全部在本地分块读取。

📂 选择文件

📊 不同块大小的适用场景

块越大看得越多,但读取和渲染也越慢。

块大小适合体验
64 KB快速翻找、定位大致位置极快,几乎无等待
256 KB日常查看日志、CSV(推荐)快,一次能看到足够内容
1 MB需要一次性看大量内容略慢,行数上限调高时更明显
整个文件—❌ 不支持,会撑爆浏览器内存

⚠️ 使用提示:① 文件不会上传——全程用浏览器本地的 File API 分块读取,没有任何网络请求;② 本工具只读不写,不会修改你的原文件;③ 按字节偏移跳转时有可能落在某一行的中间(分块读取无法知道行边界),开头半行内容不完整是正常现象;④ 搜索只在当前已读取的块内进行,不是全文搜索;⑤ 行号显示的是当前块内的序号,不是整个文件的真实行号;⑥ 二进制文件(视频、压缩包)请切到「十六进制」模式,文本模式只会看到乱码;⑦ 超大文件频繁跳转时注意内存占用,看完请及时关闭页面。

📄

大文件预览

文件工具 完全免费 🌙 支持黑夜模式 🔒 本地分块读取 🎯 任意位置跳转 🔎 块内搜索

服务器日志跑了一个月,2 GB;导出的 SQL 备份几个 G;同事发来的 CSV 有百万行——用记事本打开是转圈,用编辑器打开是崩溃。
问题在于这些工具都想把整个文件读进内存。而这个工具不这么干:
① 分块读取:一次只读你要看的那一块(默认 256 KB),所以文件多大都能秒开;
② 任意跳转:按字节偏移或百分比直接跳,配合上一块 / 下一块快速翻找;
③ 文本 / 十六进制双模式:日志、CSV 用文本,二进制文件切十六进制;
④ 编码可选:UTF-8 或 GBK,老系统导出的中文文件不再乱码;
⑤ 块内搜索:跳到大致位置后搜关键词,快速定位到具体那几行。
文件在你自己的浏览器里被分块读取,不上传、不修改、不留副本。

类别文件工具
技术File.slice() 分块 + TextDecoder
默认块大小256 KB(64 KB ~ 1 MB 可调)
模式文本 / 十六进制

核心特性

分块读取秒开
偏移 / 百分比跳转
上一块 / 下一块
文本 / 十六进制
UTF-8 / GBK
块内搜索
只读不修改
零依赖

关于这个工具

怎么实现:
① 核心是一行代码:file.slice(offset, offset + chunkSize)。`File` 对象本身只是一个「句柄」,不占内存;真正读数据时用 `slice` 取出需要的那一段,再 `arrayBuffer()`——所以 2 GB 的文件也只消耗几十 KB 到几 MB 内存;
② 解码:`new TextDecoder(encoding).decode(buffer)`,按 UTF-8 或 GBK 解码成字符串。GBK 是老系统导出文件的常见编码,浏览器内置支持;
③ 行处理:解码后按 \n 切分,只渲染前 N 行(可调),避免一次生成几万个节点;
④ 十六进制模式:不解码,直接按 16 字节一行渲染字节值 + 字符列,用于查看二进制文件;
⑤ 进度:当前偏移 ÷ 文件大小得到百分比,画在进度条上;
⑥ 搜索:只在已读取的块内查找匹配行,列出行号与上下文——不是全文搜索,这是分块读取的固有取舍。
它不做:不做全文搜索、不做编辑保存、不做行号精确映射(需要从头扫描整个文件才能算出真实行号,代价太高)。

怎么用

  1. 第 1 步
    点大框选文件(几 GB 也没关系),或拖进来。
  2. 第 2 步
    先看开头确认编码对不对;中文乱码就把编码改成 GBK。
  3. 第 3 步
    要找文件后段:拖动百分比或填偏移,点「🎯 跳到该位置」。
  4. 第 4 步
    大致定位后用「块内搜索」找关键词,看命中的那几行。
  5. 第 5 步
    看的是视频、压缩包之类,把模式切到十六进制。

更新记录

  • v1.0 2026-09-21 工具正式上线:基于 File.slice(offset, offset + size) 实现分块读取(块大小 64 KB ~ 1 MB 可调),支持按字节偏移或百分比跳转、上一块 / 下一块翻页、文本 / 十六进制双模式与 UTF-8 / GBK 编码切换;显示文件大小、总块数、当前位置进度、读取耗时,并提供块内关键词搜索(列出命中行与上下文)。全程只读取所需片段,不整体载入、不上传、不修改。纯本地零依赖,适配黑夜模式。

常见问题

为什么开头第一行是半截的?
因为分块读取不知道行边界在哪。
当你跳到某个字节偏移时,那个位置很可能正好落在某一行的中间,于是第一行的前半部分在上一块里,没被读进来——显示出来就是半截。
这不是 bug,是「不读取整个文件」的必然代价。解决办法:
① 忽略第一行,从第二行开始看;
② 需要完整内容时,把偏移往前挪一点(比如减 1 KB)再读。
能做全文搜索吗?
不能,这是刻意的设计取舍。
全文搜索必须从头到尾读一遍整个文件。对 2 GB 的文件来说,那意味着几十秒甚至几分钟的等待,以及巨大的内存占用——正是本工具想避免的事情。
推荐用法:
① 用百分比跳到大致位置(日志通常按时间顺序,可以估算);
② 再用块内搜索精确定位。
如果确实需要全文搜索,请用命令行工具(grep / rg)或专业日志分析工具。
行号为什么不是文件的真实行号?
因为算不出。
要想知道「第 5000 行在文件的哪个字节」,必须从头数一遍换行符——又是要读整个文件。
所以本工具显示的是当前块内的行序号(1、2、3…),用于在当前视野内定位,不是整个文件的绝对行号。
这个取舍换来的是「几 GB 也能秒开」,对排查问题来说通常够用。
中文显示成乱码怎么办?
把文本编码从 UTF-8 改成 GBK 试试。
常见情况:
· 老版 Windows 程序导出的 CSV / 日志 → 多半是 GBK;
· Linux 服务器日志、现代程序导出 → 通常是 UTF-8;
· 如果两种都乱,可能是 UTF-16(Excel 导出偶尔会),那就改用「十六进制查看器」看字节,或用专业编辑器转换。
另外注意:文件本身损坏或被截断也会造成乱码,这时换编码没用。
文件会被上传吗?会不会很占内存?
不会上传:本工具没有任何网络请求,读取全部通过浏览器本地 File API 完成。
内存占用很小:`File` 对象只是磁盘上的一个引用,真正进内存的只有你当前读的那一块(默认 256 KB)。所以即使打开一个 10 GB 的文件,内存占用也只是几 MB 级别。
唯一要注意的是:把「块大小」调到 1 MB 且「显示行数」调到 2000 行时,渲染会稍慢一些。

💬 留言板 0

全部留言需审核通过后展示
💬

还没有留言,来抢沙发吧!

✍️ 说点什么
0 / 500
图形验证码