private void loadLoadTsFileProps(TrimProperties properties) throws IOException {
    conf.setMaxAllocateMemoryRatioForLoad(
        Double.parseDouble(
            properties.getProperty(
                "max_allocate_memory_ratio_for_load",
                String.valueOf(conf.getMaxAllocateMemoryRatioForLoad()))));
    conf.setLoadTsFileAnalyzeSchemaBatchReadTimeSeriesMetadataCount(
        Integer.parseInt(
            properties.getProperty(
                "load_tsfile_analyze_schema_batch_read_time_series_metadata_count",
                String.valueOf(
                    conf.getLoadTsFileAnalyzeSchemaBatchReadTimeSeriesMetadataCount()))));
    conf.setLoadTsFileAnalyzeSchemaBatchFlushTimeSeriesNumber(
        Integer.parseInt(
            properties.getProperty(
                "load_tsfile_analyze_schema_batch_flush_time_series_number",
                String.valueOf(conf.getLoadTsFileAnalyzeSchemaBatchFlushTimeSeriesNumber()))));
    conf.setLoadTsFileAnalyzeSchemaBatchFlushTableDeviceNumber(
        Integer.parseInt(
            properties.getProperty(
                "load_tsfile_analyze_schema_batch_flush_table_device_number",
                String.valueOf(conf.getLoadTsFileAnalyzeSchemaBatchFlushTableDeviceNumber()))));
    conf.setLoadTsFileAnalyzeSchemaMemorySizeInBytes(
        Long.parseLong(
            properties.getProperty(
                "load_tsfile_analyze_schema_memory_size_in_bytes",
                String.valueOf(conf.getLoadTsFileAnalyzeSchemaMemorySizeInBytes()))));
    conf.setLoadTsFileTabletConversionBatchMemorySizeInBytes(
        Long.parseLong(
            properties.getProperty(
                "load_tsfile_tablet_conversion_batch_memory_size_in_bytes",
                String.valueOf(conf.getLoadTsFileTabletConversionBatchMemorySizeInBytes()))));
    conf.setLoadTsFileTabletConversionThreadCount(
        Integer.parseInt(
            properties.getProperty(
                "load_tsfile_tablet_conversion_thread_count",
                String.valueOf(conf.getLoadTsFileTabletConversionThreadCount()))));
    conf.setLoadTsFileMaxDeviceCountToUseDeviceTimeIndex(
        Integer.parseInt(
            properties.getProperty(
                "load_tsfile_max_device_count_to_use_device_index",
                String.valueOf(conf.getLoadTsFileMaxDeviceCountToUseDeviceTimeIndex()))));
    conf.setLoadChunkMetadataMemorySizeInBytes(
        Long.parseLong(
            properties.getProperty(
                "load_chunk_metadata_memory_size_in_bytes",
                String.valueOf(conf.getLoadChunkMetadataMemorySizeInBytes()))));
    conf.setLoadCleanupTaskExecutionDelayTimeSeconds(
        Long.parseLong(
            properties.getProperty(
                "load_clean_up_task_execution_delay_time_seconds",
                String.valueOf(conf.getLoadCleanupTaskExecutionDelayTimeSeconds()))));
    conf.setLoadTsFileRetryCountOnRegionChange(
        Integer.parseInt(
            properties.getProperty(
                "load_tsfile_retry_count_on_region_change",
                String.valueOf(conf.getLoadTsFileRetryCountOnRegionChange()))));
    conf.setLoadWriteThroughputBytesPerSecond(
        Double.parseDouble(
            properties.getProperty(
                "load_write_throughput_bytes_per_second",
                String.valueOf(conf.getLoadWriteThroughputBytesPerSecond()))));

    conf.setLoadTabletConversionThresholdBytes(
        Long.parseLong(
            properties.getProperty(
                "load_tablet_conversion_threshold_bytes",
                String.valueOf(conf.getLoadTabletConversionThresholdBytes()))));

    conf.setLoadActiveListeningEnable(
        Boolean.parseBoolean(
            properties.getProperty(
                "load_active_listening_enable",
                Boolean.toString(conf.getLoadActiveListeningEnable()))));
    conf.setLoadActiveListeningDirs(
        Arrays.stream(
                properties
                    .getProperty(
                        "load_active_listening_dirs",
                        String.join(",", conf.getLoadActiveListeningDirs()))
                    .trim()
                    .split(","))
            .filter(dir -> !dir.isEmpty())
            .toArray(String[]::new));
    conf.setLoadActiveListeningFailDir(
        properties.getProperty(
            "load_active_listening_fail_dir", conf.getLoadActiveListeningFailDir()));

    final long loadActiveListeningCheckIntervalSeconds =
        Long.parseLong(
            properties.getProperty(
                "load_active_listening_check_interval_seconds",
                Long.toString(conf.getLoadActiveListeningCheckIntervalSeconds())));
    conf.setLoadActiveListeningCheckIntervalSeconds(
        loadActiveListeningCheckIntervalSeconds <= 0
            ? conf.getLoadActiveListeningCheckIntervalSeconds()
            : loadActiveListeningCheckIntervalSeconds);

    conf.setLoadActiveListeningMaxThreadNum(
        Integer.parseInt(
            properties.getProperty(
                "load_active_listening_max_thread_num",
                Integer.toString(conf.getLoadActiveListeningMaxThreadNum()))));

    if (conf.getLoadActiveListeningMaxThreadNum() <= 0) {
      conf.setLoadActiveListeningMaxThreadNum(Runtime.getRuntime().availableProcessors());
    }

    conf.setLoadActiveListeningVerifyEnable(
        Boolean.parseBoolean(
            properties.getProperty(
                "load_active_listening_verify_enable",
                Boolean.toString(conf.isLoadActiveListeningVerifyEnable()))));

    conf.setLoadDiskSelectStrategy(
        properties.getProperty(
            "load_disk_select_strategy",
            ILoadDiskSelector.LoadDiskSelectorType.MIN_IO_FIRST.getValue()));

    conf.setLoadDiskSelectStrategyForIoTV2AndPipe(
        properties.getProperty(
            "load_disk_select_strategy_for_pipe_and_iotv2",
            ILoadDiskSelector.LoadDiskSelectorType.INHERIT_LOAD.getValue()));

    conf.setLastCacheLoadStrategy(
        LastCacheLoadStrategy.valueOf(
            properties.getProperty(
                "last_cache_operation_on_load", LastCacheLoadStrategy.UPDATE.name())));

    conf.setCacheLastValuesForLoad(
        Boolean.parseBoolean(
            properties.getProperty(
                "cache_last_values_for_load", String.valueOf(conf.isCacheLastValuesForLoad()))));

    conf.setCacheLastValuesMemoryBudgetInByte(
        Long.parseLong(
            properties.getProperty(
                "cache_last_values_memory_budget_in_byte",
                String.valueOf(conf.getCacheLastValuesMemoryBudgetInByte()))));
  }
load a property file and set TsfileDBConfig variables.
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java