通过多线程实现将多个文件的写入一个文件的代码实现:
package quiana.coursetest;
import java.io.FileNotFoundException;
import java.io.RandomAccessFile;
import javax.xml.stream.events.StartDocument;
/**
* @version 1.0 function 实现多线程对多个文件的读写
* @author Quiana
*
*/
public class MyRandomAccessFile {
public static void copy(RandomAccessFile r, RandomAccessFile w) {
int n = 0;
try {
w.seek(w.length());
while ((n = r.read()) != -1) {
w.write(n);
}
w.close();
r.close();
} catch (Exception e) {
}
}
public static void main(String[] args) {
try {
RandomAccessFile rafr1 = new RandomAccessFile("1.txt", "rw");
RandomAccessFile rafw1 = new RandomAccessFile("desc.txt", "rw");
RandomAccessFile rafr2 = new RandomAccessFile("2.txt", "rw");
RandomAccessFile rafw2 = new RandomAccessFile("desc.txt", "rw");
new Thread(new Runnable() {
@Override
public void run() {
copy(rafr1, rafw1);
}
}).start();
new Thread(new Runnable() {
@Override
public void run() {
copy(rafr2, rafw2);
}
}).start();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}