首頁  >  文章  >  Java  >  我可以使用 Scanner() 解析 CSV 並準確處理空格嗎?

我可以使用 Scanner() 解析 CSV 並準確處理空格嗎?

Linda Hamilton
Linda Hamilton原創
2024-10-24 18:34:02583瀏覽

Can I Parse CSV with Scanner() and Handle Spaces Accurately?

使用Scanner() 讀取CSV

使用Java 讀取CSV 檔案時,可能會遇到包含空格的文字被移到新位置的問題線。當 Scanner 類別將空格解釋為分隔符號時,就會發生這種情況。

要解決此問題,建議避免使用 Scanner() 進行 CSV 解析。相反,最好利用專門為CSV 處理設計的庫,例如:

  • opencsv
  • Ostermiller Java Utilities
  • Apache Commons CSV

這些函式庫正確地考慮了CSV 解析的複雜性,包括空格、引號和轉義字元的存在。

以下是使用 opencsv 庫的範例:

<code class="java">import com.opencsv.CSVReader;
import java.io.FileReader;
import java.util.List;

public class Main {

    public static void main(String[] args) {
        String fileName = "uploadedcsv/employees.csv";

        try (CSVReader reader = new CSVReader(new FileReader(fileName))) {
            List<String[]> lines = reader.readAll();
            for (String[] line : lines) {
                for (String value : line) {
                    System.out.print(value + " ");
                }
                System.out.println();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}</code>

透過採用專門的CSV解析庫,可以準確處理帶有空格的文本,確保資料正確解析。

以上是我可以使用 Scanner() 解析 CSV 並準確處理空格嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn