用java8写一个从配置文件中读取数据,并将list中满足条件的数据skip掉的共通方法
时间: 2024-05-08 11:17:53 浏览: 193
java8新特性将List中按指定属性排序过滤重复数据的方法
5星 · 资源好评率100%
以下是一个示例代码,假设配置文件为config.properties,其中包含一个名为“skip”的属性,值为一个正整数,表示要跳过的元素个数。
```
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
public class ConfigReader {
public static <T> List<T> readAndSkip(List<T> list) {
Properties props = new Properties();
try {
props.load(new FileInputStream("config.properties"));
} catch (IOException e) {
e.printStackTrace();
return list;
}
int skip = Integer.parseInt(props.getProperty("skip", "0"));
return list.stream()
.skip(skip)
.collect(ArrayList::new, ArrayList::add, ArrayList::addAll);
}
}
```
调用示例:
```
List<String> list = Arrays.asList("a", "b", "c", "d", "e");
List<String> result = ConfigReader.readAndSkip(list);
System.out.println(result); // output: [d, e]
```
在这个示例中,我们使用了Java 8的流式API来跳过指定数量的元素,然后将剩余的元素收集到一个新的列表中。如果配置文件无法读取或者没有配置“skip”属性,则返回原始列表。
阅读全文