Yes, you can parse those files on the fly.
byte[] decodedContent = Base64.decode(content, Base64.DEFAULT);
ZipInputStream zipStream = new ZipInputStream(new ByteArrayInputStream(decodedContent));
try{
ZipEntry entry = null;
while ((entry = zipStream.getNextEntry()) != null) {
String fileName = entry.getName();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int count;
while ((count = zipStream.read(buffer)) != -1) {
baos.write(buffer, 0, count);
}
baos.close();
zipStream.closeEntry();
byte[] bytes = baos.toByteArray();
//Your own code to parse the CSV
parseCsvFile(fileName, bytes);
}
}finally{
zipStream.close();
}