我有问题。我需要创建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个文件。这该怎么做 ?
第二个问题。我需要从多个线程中写入每个文件。
第三个问题。如何从结果文件中的多个线程写入该文件的五个内容?
答案 0 :(得分:1)
我想在周期中创建9个文件。怎么做?
使用循环
for (int i = 1; i <= 9; i++) {
new CustomThread("" + i).start();
}
我需要从多个线程中写入每个文件。
你是怎么做到的?在启动线程之前打开文件,并在使用它们时将其锁定。
如何从结果文件中的多个线程写入该文件的五个内容?
你能改一下这个问题吗?