java5.请创建两个线程(两个线程类)有一 个文件 hero.properties -个线程负现写数据,一个线程负责读数据
时间: 2023-12-29 12:20:23 浏览: 75
可以的,这是一个关于Java多线程的问题。首先,我们需要创建一个线程类来负责写数据,一个线程类来负责读数据。在写数据的线程中,我们可以使用 FileWriter 类来向文件中写入数据,代码如下:
```java
import java.io.FileWriter;
import java.io.IOException;
public class WriteThread implements Runnable {
private final String FILENAME = "hero.properties";
@Override
public void run() {
try (FileWriter writer = new FileWriter(FILENAME)) {
writer.write("hero1=韩信\n");
writer.write("hero2=李白\n");
writer.write("hero3=关羽\n");
System.out.println("写入数据成功!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在读数据的线程中,我们可以使用 FileReader 类来从文件中读取数据,代码如下:
```java
import java.io.FileReader;
import java.io.IOException;
import java.util.Properties;
public class ReadThread implements Runnable {
private final String FILENAME = "hero.properties";
@Override
public void run() {
Properties properties = new Properties();
try (FileReader reader = new FileReader(FILENAME)) {
properties.load(reader);
System.out.println("读取数据成功:");
System.out.println(properties);
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
接下来,我们需要在主函数中创建这两个线程,并启动它们:
```java
public class Main {
public static void main(String[] args) {
Thread writeThread = new Thread(new WriteThread());
Thread readThread = new Thread(new ReadThread());
writeThread.start();
readThread.start();
}
}
```
这样,我们就创建了两个线程,一个负责写数据,一个负责读数据,并且它们都可以访问同一个文件 hero.properties。当我们运行程序时,就会看到写入数据成功和读取数据成功的提示信息,以及从文件中读取的数据。
阅读全文