From 23d1edee6e6f945aa913f55bf8aaf4682e9072e4 Mon Sep 17 00:00:00 2001 From: hengyunabc Date: Fri, 25 Mar 2022 16:34:26 +0800 Subject: [PATCH] fix download large file problem. #2135 --- .../core/shell/term/impl/http/DirectoryBrowser.java | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/core/src/main/java/com/taobao/arthas/core/shell/term/impl/http/DirectoryBrowser.java b/core/src/main/java/com/taobao/arthas/core/shell/term/impl/http/DirectoryBrowser.java index df801ad13..bab30e5ec 100644 --- a/core/src/main/java/com/taobao/arthas/core/shell/term/impl/http/DirectoryBrowser.java +++ b/core/src/main/java/com/taobao/arthas/core/shell/term/impl/http/DirectoryBrowser.java @@ -175,13 +175,7 @@ public class DirectoryBrowser { return null; } - RandomAccessFile raf; - try { - raf = new RandomAccessFile(file, "r"); - } catch (Exception ignore) { - return null; - } - long fileLength = raf.length(); + long fileLength = file.length(); if (fileLength < MIN_NETTY_DIRECT_SEND_SIZE){ FileInputStream fileInputStream = new FileInputStream(file); try { @@ -210,6 +204,7 @@ public class DirectoryBrowser { // Write the content. ChannelFuture sendFileFuture; ChannelFuture lastContentFuture; + RandomAccessFile raf = new RandomAccessFile(file, "r"); // will closed by netty if (ctx.pipeline().get(SslHandler.class) == null) { sendFileFuture = ctx.write(new DefaultFileRegion(raf.getChannel(), 0, fileLength), ctx.newProgressivePromise());