2016-04-01 19 views
0

Şimdilik bir süredir açıklamamı düzeltmeye çalışıyorum ve şimdi sizi çok rahatsız etmeliyim!Açıklama için basit döngü boyunca devam etmeyecek?

Verilerini temp adlı diziye depolayan bir .txt dosyası okuyorum. Bu diziye yeni bir dize ekliyorum ve daha sonra .txt dosyasına geri kaydediyorum. Basit ... Biliyorum!

public static void main(String[] args) throws IOException { 

    // Defining 
    String token = ""; 

    // Tokensize user input. 
    Scanner action = new Scanner(System.in); 
    String tokenized = action.nextLine(); 
    String[] tokenizes = tokenized.split("\\s"); 

    // Read the 'greetings' part of the first sentence. 

    // Open 'greetings.txt' and save data to an array. 
    Scanner file1 = new Scanner(new File("greetings.txt")); 
    List<String> temp = new ArrayList<String>(); 
    while (file1.hasNext()) { 
     token = file1.next(); 
     temp.add(token); 
    } 
    temp.add(tokenized); 
    file1.close(); 

    System.out.println(temp); 
    System.out.println(temp.get(1)); 
    System.out.println(temp.get(2)); 

    int arraylength = temp.size(); 

    System.out.println(arraylength); 

    // Write the users greetings into the .txt. 
    // Overwrite old greetings array data. 
    PrintWriter writing = new PrintWriter("greetings.txt"); 

    for (int i = 0; i < arraylength; i++) { 
    writing.println(temp.get(i)); 
    writing.write("\n"); 
    writing.close(); 
    } 
    } 
} 

konudur döngü sadece greetings.txt dosyaya temp(0) kaydeder, şu şekildedir:

Benim kodudur. i aracılığıyla arraylength arasında bisiklet sürmüyor.

cevap

2

Döngüyü writing.close(); taşıyın. Sağladığınız kodda, yazdırma yazıcınızı ilk yinelemede kapatırsınız (aslında her bir yinelemede writer.close()). Bu senin döngü içinde

for (int i = 0; i < arraylength; i++) { 
    writing.println(temp.get(i)); 
    writing.write("\n"); 
} 
writing.close(); 
+0

Ders öğrenildi. Çok teşekkürler canım! – Lewie

0

Sizin kapanış yazılı içine değişim

for (int i = 0; i < arraylength; i++) { 
    writing.println(temp.get(i)); 
    writing.write("\n"); 
    writing.close(); 
} 

vardır. For döngüsünden sonra writing.close() öğesini hareket ettirmek hile yapmalıdır.

İlgili konular