如何用线程写入文件?每个文件应为100行,每行长度为100个字符。这项工作必须执行线程和I \ O。
我的代码:
public class CustomThread extends Thread{
private Thread t;
private String threadName;
CustomThread(String threadName){
this.threadName = threadName;
}
public void run () {
if (t == null)
{
t = new Thread (this);
}
add(threadName);
}
public synchronized 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!");
}
}
}
我的代码是否正确?我需要创建100行和100个字符的文件。 Сharacter必须依赖于文件名。如果我创建一个名为1的文件,并且填充的名称必须为1.谢谢。
答案 0 :(得分:1)
根据您的要求,您的代码看起来是正确的,即写入100行,每行包含100个字符。假设是,线程的名称将是单个字符,因为您正在将threadName
写入文件。我有很少的结束建议来完成您的实施。他们自己测试一下。如果您发现任何问题,请进行评论。
new line
个字符语句移动到外部循环。flush()
和close()
文件,以便保存。threadName
创建文件,您可能希望为要创建的文件添加起始路径位置。main()
方法。创建类的对象和start()
线程。Thread
实例,run()
方法将在单独的线程中执行,因为您正在扩展Thread
类。