java给定一个list集合:{"张三","李四","王五","赵六","杨七","宋八","常九"} 编写一个方法:将list集合中所有姓张人员写入到E:\\user.txt中 编写一个方法:将E:\\user.txt中所有姓张的人员信息读取出来并打印到控制台上。
时间: 2024-06-02 17:04:56 浏览: 51
可以使用Java中的IO流和集合操作来实现这两个方法。
1. 将姓张的人员写入到文件中的方法可以按照以下步骤实现:
- 遍历集合,找到姓张的人员并将其写入到文件中
- 关闭文件输出流
以下是实现代码:
```java
public static void writeZhangToFile(List<String> names) {
String filePath = "E:\\user.txt";
try (FileOutputStream fos = new FileOutputStream(filePath)) {
for (String name : names) {
if (name.startsWith("张")) {
fos.write(name.getBytes());
fos.write("\n".getBytes());
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
```
2. 读取文件中所有姓张的人员信息并打印到控制台上的方法可以按照以下步骤实现:
- 创建一个文件输入流并读取文件中的内容
- 将文件内容转换为字符串,并按行分割
- 遍历字符串数组,找到姓张的人员并打印到控制台
以下是实现代码:
```java
public static void readZhangFromFile() {
String filePath = "E:\\user.txt";
try (FileInputStream fis = new FileInputStream(filePath)) {
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
String content = new String(buffer);
String[] lines = content.split("\n");
for (String line : lines) {
if (line.startsWith("张")) {
System.out.println(line);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
```
阅读全文