2013-12-11 38 views
0

我寫了一些代碼,在一個文件中顯示的一些數據格式Serilization數據格式

我寫下面的代碼:

File file=new File("D:/timesheet.txt"); 

       FileWriter fw = new FileWriter(file.getAbsoluteFile()); 
       BufferedWriter bw = new BufferedWriter(fw); 
       bw.write(timesheetlist.toString()); 

       bw.close(); 

我的代碼是打印類似這樣的格式:

[72013-02-0617:50:1519:19:15,132013-02-0619:02:1119:02:25,212013-02-0618:25:2218:25:22,282013-02- 0618:25:4318:25:43,442013-02-0619:20:2019:41:21,562013-02-0617:54:0817:54:08]

但我想,以顯示這些文件格式:

72013-02-0617:50:1519:19:15

132013-02-0619:02:1119:02:25

212013 -02-0618:25:2218:25:22

282013-02-0618:25:4318:25:43

442013-02-0619:20:2019:41:21

562013-02-0617:54:0817:54:08

我在這裏使用\ n類:

public class TimeSheetVO implements Serializable{ 


private String EMP_ID; 
private String ATTENDANCE_DATE; 
private Time IN_TIME; 
private Time OUT_TIME; 
private Time TOTAL_HOURS; 

public String getEMP_ID() { 
    return EMP_ID; 
} 
public void setEMP_ID(String eMP_ID) { 
    EMP_ID = eMP_ID; 
} 

public String getATTENDANCE_DATE() { 
    return ATTENDANCE_DATE; 
} 
public void setATTENDANCE_DATE(String aTTENDANCE_DATE) { 
    ATTENDANCE_DATE = aTTENDANCE_DATE; 
} 
public Time getIN_TIME() { 
    return IN_TIME; 
} 
public void setIN_TIME(Time iN_TIME) { 
    IN_TIME = iN_TIME; 
} 
public Time getOUT_TIME() { 
    return OUT_TIME; 
} 
public void setOUT_TIME(Time oUT_TIME) { 
    OUT_TIME = oUT_TIME; 
} 
public Time getTOTAL_HOURS() { 
    return TOTAL_HOURS; 
} 
public void setTOTAL_HOURS(Time tOTAL_HOURS) { 
    TOTAL_HOURS = tOTAL_HOURS; 
} 
@Override 
public String toString() { 
    return EMP_ID + ATTENDANCE_DATE + IN_TIME + OUT_TIME + "\n"; 
} 

} 這裏\,t是影響,但是,\ n 我在文件 顯示ArrayList對象請給我這個任何想法不能大意。

回答

0

List.toString()附加打開和關閉支架[..]。使用for-each循環,而不是寫文,

for(TimeSheetVO time: timesheetlist){ 
    bw.write(time); 
    } 
+0

感謝您的回答,但這裏的空間是由行來行不顯示 – user2996174

+0

用寫字板打開文件,有時記事本不能用換行符顯示「\ n」。 – Masudul

0

只需使用StringBuilder

StringBuilder sb = new StringBuilder(); 
for (TimeSheetVO timeSheet : timesheetlist) { 
    sb.append(timeSheet.toString()); 
    sb.append("\n"); 
} 

File file = new File("D:/timesheet.txt"); 
FileWriter fw = new FileWriter(file.getAbsoluteFile()); 
BufferedWriter bw = new BufferedWriter(fw); 
bw.write(sb.toString()); 
bw.close(); 

,並刪除 「\ n」:

@Override 
public String toString() { 
    return EMP_ID + ATTENDANCE_DATE + IN_TIME + OUT_TIME; 
}