use of io.vertigo.util.TempFile in project vertigo by KleeGroup.
the class TestUtil method createVFile.
/**
* Crée un VFile relativement d'un class de base.
* @param fileName Nom/path du fichier
* @param baseClass Class de base pour le chemin relatif
* @return VFile
*/
public static VFile createVFile(final FileManager fileManager, final String fileName, final Class<?> baseClass) {
try {
try (final InputStream in = baseClass.getResourceAsStream(fileName)) {
Assertion.checkNotNull(in, "fichier non trouvé : {0}", fileName);
final File file = new TempFile("tmp", '.' + FileUtil.getFileExtension(fileName));
FileUtil.copy(in, file);
return fileManager.createFile(file);
}
} catch (final IOException e) {
throw WrappedException.wrap(e);
}
}
use of io.vertigo.util.TempFile in project vertigo by KleeGroup.
the class SqlDataStreamMappingUtil method createDataStream.
private static DataStream createDataStream(final InputStream in, final byte[] bytes) throws IOException, SqlOffLimitsException {
// On crée un fichier temporaire.
final File tmpFile = new TempFile("kdata", ".tmp");
// 1ere étape : on recopie le contenu de la mémoire dans le fichier. (car on ne peut pas relire le Blob)
try (final OutputStream fileOut = new FileOutputStream(tmpFile);
final InputStream memoryIn = new ByteArrayInputStream(bytes)) {
copy(memoryIn, fileOut, FILE_MAX_LENGTH);
Assertion.checkState(tmpFile.length() <= MEMORY_MAX_LENTH, "Le fichier n'a pas repris le debut de l'export (RAM)");
// 2eme Etape : on copie la suite
final long length = copy(in, fileOut, FILE_MAX_LENGTH);
// La longueur totale du fichier est la somme.
return new FileDataStream(tmpFile, length + bytes.length);
}
}
Aggregations