亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將 .txt 文件轉換為一個 .csv。導出的信息覆蓋第一行。有小費嗎?

將 .txt 文件轉換為一個 .csv。導出的信息覆蓋第一行。有小費嗎?

蠱毒傳說 2021-09-03 21:54:37
我一直在研究一個項目,從多個 .txt 文件中讀取數據以將其轉換為 .csv 文件。我的問題是導出的數據不斷覆蓋第一行,所以每次我導出文件時,它只顯示最后一行。有沒有人有任何提示可以幫助我?//Reading the information from the files.for (String fileName : textFileNames) {  try (Scanner sc = new Scanner(new File(stack + "\\" + fileName));) {    fileIn = sc.nextLine();    while (fileIn != null) {      String line = fileIn;      String[] split = line.split("\\s+");      StringJoiner joiner = new StringJoiner(",");      for (String strVal : split) {        joiner.add(strVal);      }      line = joiner.toString();      line = line.startsWith(",") ? line.substring(1) : line;      System.out.println(line);      BufferedWriter br = new BufferedWriter(new FileWriter("myfile.csv"));      StringBuilder sb = new StringBuilder();      // Append strings from array      sb.append(line);      sb.append("\n");      br.write(sb.toString());      br.close();       fileIn = sc.nextLine();    }     sc.close();  } catch (IOException ex) {    Logger.getLogger(Class_Organizer_Krause.class.getName())          .log(Level.SEVERE, null, ex);  }}
查看完整描述

2 回答

?
開滿天機

TA貢獻1786條經驗 獲得超13個贊

您正在BufferedWriterwhile 循環中重新創建 ,本質上是在每次循環到輸入文件中的新行時重新創建文件。

將 BufferedWriter 的構造移出 while 循環(就在它之前),將 close 語句移到 while 循環之后,它應該沒問題。


查看完整回答
反對 回復 2021-09-03
  • 2 回答
  • 0 關注
  • 132 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號