Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да избягате от запетая и двоен кавичка едновременно за CSV файл?

Има няколко библиотеки. Ето два примера:

❐ Apache Commons Lang

Apache Commons Lang включва специален клас за екраниране или премахване на низове (CSV, EcmaScript, HTML, Java, Json, XML):org.apache.commons.lang3.StringEscapeUtils .

  • Бягство към 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""."""
    
  • Премахване от 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"."
    

* Можете да го изтеглите от тук.

❐ OpenCSV

Ако използвате OpenCSV , няма да е нужно да се притеснявате за бягство или избягане, само за запис или четене на съдържанието.

  • Писане на файл:

    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();
    
  • Четене на файл:

    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();
    

* Можете да го изтеглите от тук.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Какво е курсор в oracle

  2. PLS-00428:в този оператор SELECT се очаква клауза INTO

  3. Съпоставяне на външен ключ с персонализирано име на колона

  4. Как да изпълним процедура с процедурата DBMS_SCHEDULER.CREATE_JOB

  5. Преобразуване на дата в низ от Oracle