일부 문자열을 파일에 쓰려고합니다. 그래서 BufferedWriter 클래스를 사용했습니다. 많은 쓰레드가 그 파일에 쓰는 경향이 있기 때문에, 이과 writeLake의 메소드가 원자인지 아닌지를 알고 싶습니다.작가는 원자 적 방법입니까?
또한이 프로그램은 출력을 여러 파일과 파일 당 100 줄 (예 : file.txt0, file.txt1 ...)으로 작성하고 싶습니다. 예 :
public class Main {
static ExecutorService exec = Executors.newFixedThreadPool(5);
BufferedWriter bw;
public class myWriter implements Runnable {
String str;
myWriter (String str) {
this.str = str;
}
public void run() {
bw.write(str);
bw.writeLine();
}
}
public static void main(String[] args) {
bw = new BufferedWriter(new FileWriter("train.txt"));
for (String arg: args)
exec.execute(new myWriter(arg));
exec.awaitTermination(100000, TimeUnit.MILLISECONDS);
}
}
나를 도와 줄 수 있습니까? 만약 그들이 원자가 아니라면 어떻게 원자를 만들고 충돌을 피할 수 있습니까?
+1
. 알아 둘만한. – Mudassir멋진 작품. 출력을 여러 파일 (파일 당 100 줄)에 쓰려면 어떻게해야합니까? – orezvani
@emab에 따라 다릅니다. (정확하게) 무엇을하고 싶은지에 대한 자세한 내용으로 질문을 편집해야합니다. ( – Marcelo