diff --git a/linkis-engineconn-plugins/io_file/src/main/scala/org/apache/linkis/manager/engineplugin/io/utils/IOHelp.scala b/linkis-engineconn-plugins/io_file/src/main/scala/org/apache/linkis/manager/engineplugin/io/utils/IOHelp.scala index 8d84a1b0b0..8734dd7191 100644 --- a/linkis-engineconn-plugins/io_file/src/main/scala/org/apache/linkis/manager/engineplugin/io/utils/IOHelp.scala +++ b/linkis-engineconn-plugins/io_file/src/main/scala/org/apache/linkis/manager/engineplugin/io/utils/IOHelp.scala @@ -61,17 +61,21 @@ object IOHelp { writer.addRecord(ioRecord) writer.toString() } else if (method.params.length == 3) { - val parm1 = BigDecimal(method.params(1).toString).intValue() - val parm2 = BigDecimal(method.params(2).toString).intValue() - if (parm1 > 0) { - inputStream.skip(parm1) - } + val position = + if (method.params(1).toString.toDouble.toInt < 0) { + 0 + } else { + method.params(1).toString.toDouble.toInt + } val fetchSize = - if (parm2 > maxPageSize) { + if (method.params(2).toString.toDouble.toInt > maxPageSize) { maxPageSize.toInt } else { - parm2 + method.params(2).toString.toDouble.toInt } + if (position > 0) { + inputStream.skip(position) + } val bytes = new Array[Byte](fetchSize) val len = StorageUtils.readBytes(inputStream, bytes, fetchSize) val ioMetaData = new IOMetaData(0, len)