前提・実現したいこと
コレクションの中身を読み取ってファイル出力したいです
発生している問題・エラーメッセージ
Exception in thread "main" java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification(Unknown Source) at java.util.ArrayList$Itr.next(Unknown Source) at KadaiO.comp(KadaiO.java:111) at KadaiO.main(KadaiO.java:40)
該当のソースコード
java
1 static boolean encryption=false; 2 static String n,n1; 3 static int leng=0,count=0; 4 static ArrayList<String> word = new ArrayList<String>(); 5 static Iterator<String> itr = word.iterator(); 6 static char[] c; 7 8//ここから関数です 9 10 static void write(String[] args){ 11 try (FileReader fr = new FileReader(args[0]); 12 BufferedReader br = new BufferedReader(fr); 13 Scanner sc = new Scanner(br); 14 FileWriter fw = new FileWriter(args[1]); 15 BufferedWriter bw = new BufferedWriter(fw)) { 16 leng=0; 17 while (itr.hasNext()) { 18 n=itr.next(); 19 String fstring = String.format("%s",n); 20 bw.write(fstring); 21 } 22 } catch (FileNotFoundException e) { 23 e.printStackTrace(); 24 } catch (IOException e) { 25 e.printStackTrace(); 26 } 27 } 28 29
試したこと
ConcurrentModificationExceptionがマルチスレッドにてコレクションが変更されたときに起こることが分かったのでCopyOnWriteArrayListとCollections.synchronizedListを試したのですがコンパイルが通りませんでした
回答2件
あなたの回答
tips
プレビュー