diff --git a/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/knowledge/file/FileHandlerImpl.java b/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/knowledge/file/FileHandlerImpl.java index b2b2d82c1..04f815bc0 100644 --- a/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/knowledge/file/FileHandlerImpl.java +++ b/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/knowledge/file/FileHandlerImpl.java @@ -156,8 +156,13 @@ public class FileHandlerImpl implements FileHandler { */ private List getFileData(String filePath, Integer startLine, Integer endLine) { List fileData = new ArrayList<>(); + Path path = Paths.get(filePath); + if (!Files.exists(path)) { + log.warn("[getFileData] File does not exist: {}", getAbsolutePath(filePath)); + return fileData; + } - try (Stream lines = Files.lines(Paths.get(filePath))) { + try (Stream lines = Files.lines(path)) { fileData = lines.skip(startLine - 1).limit(endLine - startLine + 1) .map(lineStr -> convert2Resp(lineStr)).filter(line -> Objects.nonNull(line)) .collect(Collectors.toList()); @@ -181,7 +186,13 @@ public class FileHandlerImpl implements FileHandler { } private Long getFileLineNum(String filePath) { - try (Stream lines = Files.lines(Paths.get(filePath))) { + Path path = Paths.get(filePath); + if (!Files.exists(path)) { + log.warn("[getFileData] File does not exist: {}", getAbsolutePath(filePath)); + return 0L; + } + + try (Stream lines = Files.lines(path)) { Long lineCount = lines.count(); return lineCount; } catch (IOException e) {