多线程写文件

import java.io.RandomAccessFile;
public class MultiFileWriter {
public static final String File_PATH = "D:\\";
public static void main(String[] args) throws Exception{
RandomAccessFile raf = new RandomAccessFile(File_PATH + "1.txt", "rw");
raf.setLength(1024 * 1024 * 5);//文件大小5M
raf.close();
String s1 = "hello world 1";
String s2 = "hello world 2";
String s3 = "hello world 3";
String s4 = "hello world 4";
String s5 = "hello world 5";
new MultiFileWriterThread(1024 * 2 , s1.getBytes()).start();
new MultiFileWriterThread(1024 * 12 , s2.getBytes()).start();
new MultiFileWriterThread(1024 * 26 , s3.getBytes()).start();
new MultiFileWriterThread(1024 * 1024 * 2 , s4.getBytes()).start();
new MultiFileWriterThread(1024 * 3 * 1024 , s5.getBytes()).start();
}
}
final class MultiFileWriterThread extends Thread {
private String name;
private byte[] content;
private int skip;
public MultiFileWriterThread(int skip,byte[] content){
this(skip, content, "MultiFileWriterThread");
}
public MultiFileWriterThread(int skip,byte[] content,String name){
this.skip = skip;
this.content = content;
this.name = name;
}
@Override
public void run() {
try {
RandomAccessFile raf = new RandomAccessFile(MultiFileWriter.File_PATH + "1.txt", "rw");
raf.seek(skip);
raf.write(content);
raf.close();
} catch (Exception e) {
System.err.println(name + e.getMessage());
e.printStackTrace();
}
}
}

你可能感兴趣的:(java,多线程)