Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak uciec w tym samym czasie od przecinka i podwójnego cudzysłowu dla pliku CSV?

Istnieje kilka bibliotek. Oto dwa przykłady:

❐ Język Apache Commons

Apache Commons Lang zawiera specjalną klasę do zmiany znaczenia ciągów znaków (CSV, EcmaScript, HTML, Java, Json, XML):org.apache.commons.lang3.StringEscapeUtils .

  • Ucieczka do CSV

    String escaped = StringEscapeUtils
        .escapeCsv("I said \"Hey, I am 5'10\".\""); // I said "Hey, I am 5'10"."
    
    System.out.println(escaped); // "I said ""Hey, I am 5'10""."""
    
  • Wycofaj się z pliku CSV

    String unescaped = StringEscapeUtils
        .unescapeCsv("\"I said \"\"Hey, I am 5'10\"\".\"\"\""); // "I said ""Hey, I am 5'10""."""
    
    System.out.println(unescaped); // I said "Hey, I am 5'10"."
    

* Możesz go pobrać z tutaj.

❐ Otwórz plik CSV

Jeśli używasz OpenCSV , nie musisz się martwić o ucieczkę lub cofnięcie się, tylko po to, aby napisać lub przeczytać treść.

  • Zapisywanie pliku:

    FileOutputStream fos = new FileOutputStream("awesomefile.csv"); 
    OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");
    CSVWriter writer = new CSVWriter(osw);
    ...
    String[] row = {
        "123", 
        "John", 
        "Smith", 
        "39", 
        "I said \"Hey, I am 5'10\".\""
    };
    writer.writeNext(row);
    ...
    writer.close();
    osw.close();
    os.close();
    
  • Czytanie pliku:

    FileInputStream fis = new FileInputStream("awesomefile.csv"); 
    InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
    CSVReader reader = new CSVReader(isr);
    
    for (String[] row; (row = reader.readNext()) != null;) {
        System.out.println(Arrays.toString(row));
    }
    
    reader.close();
    isr.close();
    fis.close();
    

* Możesz go pobrać z tutaj.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ucieczka przed symbolami wieloznacznymi w LIKE

  2. 27 skryptów Oracle dba dla bazy danych Oracle dla administracji i monitorowania

  3. TRUNC(liczba) Funkcja w Oracle

  4. Czy istnieje sposób na zainstalowanie Javy na Oracle 11g XE?

  5. Oracle:Połącz wiele wyników w podzapytaniu w jedną wartość oddzieloną przecinkami