2016-03-24 1 views
0

Как новичок, я пытаюсь распечатать набор данных в файл под названием «Sign_in.txt», но этот код создает файл и ничего не печатает. Что я делаю не так?Приложение, не записывающее файл

String nu="CUSTOMER DETAILS START"; 
    String enu="CUSTOMER DETAILS END"; 
    n=namefield.getText(); 
    a=agefield.getText(); 
    ad=adfield.getText(); 
    s=salfield.getText(); 
    p=phfield.getText(); 
    d=dobfield.getText(); 
    e=emfield.getText(); 
    ArrayList<String> list = new ArrayList<String>(); 
    list.add(nu); 
    list.add(n); 
    list.add(a); 
    list.add(ad); 
    list.add(s); 
    list.add(p); 
    list.add(d); 
    list.add(e); 
    list.add(u); 
    list.add(q); 
    list.add(enu); 

    try(PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("Sign_in.txt",true)))) { 
     Writer output = new BufferedWriter(out); 
    int l = list.size(); 

      for(int i = 0; i<l; i++){ 
       output.write(list.get(i).toString()+"\n"); 
      } 
    output.close(); 
    } 
    catch (Exception e) 
    { 
     e.printStackTrace(); 
    } 
    JOptionPane.showMessageDialog(this,"Thank you for registering"); 
    System.exit(0); 
    new accpage().setVisible(true); 
} 
+1

Вы используете примерочных с-ресурсов уже. Нет необходимости явно закрывать вывод. –

+1

Скомпилирует ли это? Вы пробовали промывать свой выходной поток? –

+1

Вместо цикла for над 'i' используйте расширенный для цикла' for (String item: list) {'. (Также не нужно вызывать 'toString()' on 'list.get (i) .toString()', так как это уже 'String'). –

ответ

0

я бы что-то вроде этого:

try (PrintWriter output = 
     new PrintWriter(new BufferedWriter(new FileWriter("Sign_in.txt")))) 
{    
    for (String line: list) { 
     output.println(line); 
    } 

} catch (Exception e) { 
    e.printStackTrace(); 
} 
0

Рабочий код

try (PrintWriter output = new PrintWriter(
           new BufferedOutputStream(
            new FileOutputStream("Sign_in.txt")), true)) 
    {    
     int l = list.size(); 
     for (int i = 0; i < l; i++) { 
      output.println(list.get(i).toString()); 
     } 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
Смежные вопросы