gpt4 book ai didi

java - 如何从多个线程写入文件

转载 作者:行者123 更新时间:2023-12-01 11:09:32 25 4
gpt4 key购买 nike

我有问题。我需要创建 9 个文件,每个文件都从线程名称调用。每个文件将被称为 1.txt、2.txt、3.txt 等。每个文件将填充与文件名相对应的符号(1.txt 文件为“1”)。每个文件应为 100 行,每行长度为 100 个字符。这项工作必须执行执行线程和 I\O。当使用多个线程时,我需要在生成的文件 super.txt 中读取这些文件的内容。

我的代码:

public class CustomThread extends Thread {

Thread t;
String threadName;

CustomThread(String threadName) {
this.threadName = threadName;
}

@Override
public void run() {
if (t == null) {
t = new Thread(this);
}
add(threadName);
}

public void add(String threadName) {
File f = new File(threadName + ".txt");

if (!f.exists()) {
try {
f.createNewFile();
} catch (IOException e) {
e.printStackTrace();
System.out.println("File does not exists!");
}
}

FileWriter fw = null;
try {
fw = new FileWriter(f);
for (int i = 0; i < 100; i++) {
for (int j = 0; j < 100; j++) {
fw.write(threadName);
}
fw.write('\n');
}

} catch (IOException e) {
e.printStackTrace();
System.out.println("File does not exists!");
}
}
}

我的主要内容:

public class Main {
public static void main(String[] args) {

CustomThread T1 = new CustomThread("1");
T1.start();

CustomThread T2 = new CustomThread("2");
T2.start();

}
}

第一个问题。我需要循环制作线程。看看我的主要:我创建

CustomThread T1 = new CustomThread("1");
T1.start();

但是,我想循环创建 9 个文件。这个怎么做 ?

第二个问题。我需要从多个线程写入每个文件。

第三个问题。如何从多个线程在结果文件中写入该文件的五个内容?

最佳答案

i want to create 9 files in cycle. How to do this ?

使用循环

for (int i = 1; i <= 9; i++) {
new CustomThread("" + i).start();
}

I need to write in every my file from multiple threads.

你是如何做到这一点的?在启动线程之前打开文件,并在使用它们时锁定它们。

How to write from multiple threads in result file five contents of thats files ?

你能重新表述一下这个问题吗?

关于java - 如何从多个线程写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32541912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com