Fammi provare a capire...
Il file in arrivo contiene virgolette. Vuoi inviarlo a un database. Quando lo recuperi dal database, desideri comunque che quelle virgolette siano presenti.
Quindi è solo da/verso il database che stai riscontrando il tuo problema?
Se è così allora io altamente sospetto che tu stia facendo qualcosa nell'ordine di:(lo sto avvolgendo in un disclaimer per evitare che gli ignari non fraintendano e tagliano/incollano le proprie applicazioni.;))
Cattivo:non farlo
String sql = "insert into foo (bar,baz) values(" +myValue1 + ", " + myValue2 + ")";
Statement stmt = connection.createStatement();
stmt.executeUpdate(sql);
Cattivo - non farlo
In tal caso, dovresti davvero utilizzare almeno i parametri dell'istruzione preparata. a) sarai meno vulnerabile alla spazzatura dannosa eliminando tutte le tue tabelle e b) non avrai problemi di fuga.
String sql = "insert into foo (bar, baz) values( ?, ? )";
PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setString(1, myValue1);
stmt.setString(2, myValue2);
stmt.executeUpdate();
Nota che è anche più sicuro nel caso di cose come i CLOB e le specifiche di diverse implementazioni di database (sto pensando a te, Oracle>))
Se si tratta di un altro tipo di escape, ovvero verso/da XML o verso/da HTML, allora è diverso, ma è ben documentato in tutto il web.
Oppure fornisci un codice di esempio se sono totalmente fuori base.