java.lang.IllegalArgumentException: \0 not allowed
Publicado por Johnny Gonzalez (4 intervenciones) el 21/02/2005 15:25:04
Hola, estoy escribiendo una aplicación donde tengo que hacer lo siguiente:
- Leer datos de una BD en PostgreSQL
- Guardar el String de los datos en un archivo de texto
- Firmar digitalmente los datos con un comando externo de Linux que tengo, el cual me retorna la firma digital (PKCS#7) en un archivo en base 64.
- Cargar el archivo devuelto en un String en java y almacenar el String nuevamente en la BD
Lo estoy haciendo escribiendo y leyendo arreglos de bytes en y desde los archivos. Me está saliendo la siguiente excepción:
Exception in thread "main" java.lang.IllegalArgumentException: \0 not allowed
at org.postgresql.jdbc1.AbstractJdbc1Statement.escapeString(AbstractJdbc1Statement.java:1145)
at org.postgresql.jdbc1.AbstractJdbc1Statement.setString(AbstractJdbc1Statement.java:1126)
at org.postgresql.jdbc1.AbstractJdbc1Statement.setString(AbstractJdbc1Statement.java:1109)
at ConexionPostgres.replace(ConexionPostgres.java:83)
at ConexionPostgres.main(ConexionPostgres.java:189)
My código es como el siguiente:
//Escribo el String leído en un archivo
File file = new File("/usr/local/bin/temporal/1056.pem");
FileOutputStream stream1;
try {
stream1 = new FileOutputStream(file);
stream1.write(datos.getBytes("ISO-8859-1"));
stream1.close();
} catch (FileNotFoundException e2) {
e2.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}
para leer el archivo en java:
FileInputStream stream2;
byte[] lectura = new byte[4096];
try {
stream2 = new FileInputStream(file);
int bytes = stream2.available();
int le = stream2.read(lectura,0,bytes);
stream2.close();
} catch (FileNotFoundException e2) {
e2.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}
Que puede ser? como lo puedo solucionar?
gracias
- Leer datos de una BD en PostgreSQL
- Guardar el String de los datos en un archivo de texto
- Firmar digitalmente los datos con un comando externo de Linux que tengo, el cual me retorna la firma digital (PKCS#7) en un archivo en base 64.
- Cargar el archivo devuelto en un String en java y almacenar el String nuevamente en la BD
Lo estoy haciendo escribiendo y leyendo arreglos de bytes en y desde los archivos. Me está saliendo la siguiente excepción:
Exception in thread "main" java.lang.IllegalArgumentException: \0 not allowed
at org.postgresql.jdbc1.AbstractJdbc1Statement.escapeString(AbstractJdbc1Statement.java:1145)
at org.postgresql.jdbc1.AbstractJdbc1Statement.setString(AbstractJdbc1Statement.java:1126)
at org.postgresql.jdbc1.AbstractJdbc1Statement.setString(AbstractJdbc1Statement.java:1109)
at ConexionPostgres.replace(ConexionPostgres.java:83)
at ConexionPostgres.main(ConexionPostgres.java:189)
My código es como el siguiente:
//Escribo el String leído en un archivo
File file = new File("/usr/local/bin/temporal/1056.pem");
FileOutputStream stream1;
try {
stream1 = new FileOutputStream(file);
stream1.write(datos.getBytes("ISO-8859-1"));
stream1.close();
} catch (FileNotFoundException e2) {
e2.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}
para leer el archivo en java:
FileInputStream stream2;
byte[] lectura = new byte[4096];
try {
stream2 = new FileInputStream(file);
int bytes = stream2.available();
int le = stream2.read(lectura,0,bytes);
stream2.close();
} catch (FileNotFoundException e2) {
e2.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}
Que puede ser? como lo puedo solucionar?
gracias
Valora esta pregunta


0