用java8写一个从配置文件中读取数据,并将list中满足条件的数据skip掉的共通方法
时间: 2024-05-08 18:17:53 浏览: 19
以下是一个示例代码,假设配置文件为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”属性,则返回原始列表。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)