package com.abmash.core.tools;
import java.awt.image.BufferedImage;
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.URL;
import java.util.Scanner;
import javax.imageio.ImageIO;
import org.apache.xerces.impl.dv.util.Base64;
public class IOTools {
public static String getContentsFrom(String urlString) throws IOException {
URL url = new URL(urlString);
BufferedReader in = new BufferedReader(new InputStreamReader(
url.openStream()));
String inputLine;
String content = "";
while ((inputLine = in.readLine()) != null) {
content += inputLine;
}
in.close();
return content;
}
public static String convertStreamToString(InputStream inputStream) {
return (new Scanner(inputStream)).useDelimiter("\\A").next();
}
public static File convertStreamToFile(InputStream inputStream, String extension) {
try {
File tmpFile = File.createTempFile("file", "." + extension);
tmpFile.deleteOnExit();
// write the inputStream to a FileOutputStream
OutputStream out = new FileOutputStream(tmpFile);
int read = 0;
byte[] bytes = new byte[1024];
while ((read = inputStream.read(bytes)) != -1) {
out.write(bytes, 0, read);
}
inputStream.close();
out.flush();
out.close();
return tmpFile;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public static String convertImageToBinaryData(InputStream imageInputStream, String fileExtension) {
BufferedImage image;
try {
image = ImageIO.read(imageInputStream);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(image, fileExtension, baos);
return "data:image/" + fileExtension + ";base64," + Base64.encode(baos.toByteArray());
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}