import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Base64;
public class FileUtil {
public static byte[] getFileBytes(File file) {
FileInputStream fileInputStream = null;
byte[] bytes = null;
try {
fileInputStream = new FileInputStream(file);
bytes = new byte[fileInputStream.available()];
fileInputStream.read(bytes);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (fileInputStream != null) {
try {
fileInputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return bytes;
}
public static String getUrlBase64Bytes(String url) throws IOException{
URL urlConet = new URL(url);
HttpURLConnection con = (HttpURLConnection)urlConet.openConnection();
con.setRequestMethod("GET");
con.setConnectTimeout(4 * 1000);
//通过输入流获取图片数据
InputStream inStream = con .getInputStream();
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte[] buffer = new byte[2048];
int len = 0;
while( (len=inStream.read(buffer)) != -1 ){
outStream.write(buffer, 0, len);
}
inStream.close();
byte[] data = outStream.toByteArray();
return Base64.getEncoder().encodeToString(data);
}
public static byte[] getFileBytes(String filePath) {
File file = new File(filePath);
return getFileBytes(file);
}
public static void wirteDataToFile(String savePath, byte[] data) throws Exception {
FileOutputStream fileOutputStream = null;
try {
fileOutputStream = new FileOutputStream(savePath);
fileOutputStream.write(data);
fileOutputStream.flush();
} catch (Exception var11) {
throw var11;
} finally {
try {
if (fileOutputStream != null) {
fileOutputStream.close();
}
} catch (IOException var10) {
var10.printStackTrace();
}
}
}
public static byte[] downLoadFromUrl(String urlStr) throws IOException {
URL url = new URL(urlStr);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
//设置超时间为3秒
conn.setConnectTimeout(3 * 1000);
//防止屏蔽程序抓取而返回403错误
conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
//得到输入流
InputStream inputStream = conn.getInputStream();
//获取自己数组
return readInputStream(inputStream);
}
public static byte[] readInputStream(InputStream inputStream) throws IOException {
byte[] buffer = new byte[1024];
int len = 0;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
while((len = inputStream.read(buffer)) != -1) {
bos.write(buffer, 0, len);
}
bos.close();
return bos.toByteArray();
}
}