Java 各种文件类型转换的方法 你会了哪种呢

1.网络资源转File需要引入依赖commons-io
/*** 读取网络中的图片* @param url https://www.kziyue.com/wp-content/uploads/2019/06/5bca-hxyuaph9825616.jpg* @return*/public File URLToFile(String url){File file1 = new File("test.png");try {URL url1 = new URL(url);FileUtils.copyURLToFile(url1,file1);} catch (IOException e) {e.printStackTrace();}File absoluteFile = file1.getAbsoluteFile();return file1;}

Java 各种文件类型转换的方法 你会了哪种呢

文章插图
 
2.网络资源转MultipartFile需要引入依赖spring-web
/*** 文件上传* @param urlStr url地址* @return multipartFile*/public MultipartFile fileUpload(String urlStr) throws Exception {try {//把地址转换成URL对象URL url = new URL(urlStr);//创建http链接HttpURLConnection conn = (HttpURLConnection)url.openConnection();//设置超时间为3秒conn.setConnectTimeout(3*1000);//防止屏蔽程序抓取而返回403错误conn.setRequestProperty("User-Agent", "Mozilla/5.0 (windows NT 6.1; Win64; x64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/61.0.3163.100 Safari/537.36)");//得到输入流InputStream inputStream = conn.getInputStream();//截取链接中的文件名String fileName= urlStr.substring(urlStr.lastIndexOf("/")+1);MultipartFile multipartFile = new MockMultipartFile(fileName,fileName, ContentType.APPLICATION_OCTET_STREAM.toString(), inputStream);return multipartFile;} catch (Exception e) {e.printStackTrace();}throw new Exception();}
Java 各种文件类型转换的方法 你会了哪种呢

文章插图
 
3.File转MultipartFile需要引用的依赖spring-text,httpcore
/*** 文件类型转换** @param filePath 文件file* @return MultipartFile*/public static MultipartFile caseFileToMultipartFile(File filePath) {MultipartFile multipartFile = null;try {log.info("开始进行文件转换");FileInputStream fileInputStream = new FileInputStream(filePath);multipartFile = new MockMultipartFile(filePath.getName(), filePath.getName(),ContentType.APPLICATION_OCTET_STREAM.toString(), fileInputStream);} catch (IOException e) {e.printStackTrace();return null;}return multipartFile;}
Java 各种文件类型转换的方法 你会了哪种呢

文章插图
 
4.File转字节数组【Java 各种文件类型转换的方法 你会了哪种呢】 /*** 将文件转为字节数组* @param file* @param size 1024* @return*/public static byte[] BufferStreamForByte(File file, int size) {byte[] content = null;try {BufferedInputStream bis = null;ByteArrayOutputStream out = null;try {FileInputStream input = new FileInputStream(file);bis = new BufferedInputStream(input, size);byte[] bytes = new byte[1024];int len;out = new ByteArrayOutputStream();while ((len = bis.read(bytes)) > 0) {out.write(bytes, 0, len);}bis.close();content = out.toByteArray();} finally {if (bis != null) {bis.close();}if (out != null) {out.close();}}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return content;}
Java 各种文件类型转换的方法 你会了哪种呢

文章插图
 
5.Frame转BufferedImage需要引入依赖JAVAcv
public static BufferedImage FrameToBufferedImage(Frame frame) {//创建BufferedImage对象Java2DFrameConverter converter = new Java2DFrameConverter();BufferedImage bufferedImage = converter.getBufferedImage(frame);return bufferedImage;}
Java 各种文件类型转换的方法 你会了哪种呢

文章插图
 
6.BufferedImage转MultipartFile public static MultipartFile fileCase(BufferedImage image){//得到BufferedImage对象// BufferedImage bufferedImage = JoinTwoImage.testEncode(200, 200, url);MultipartFile multipartFile= null;try {//创建一个ByteArrayOutputStreamByteArrayOutputStream os = new ByteArrayOutputStream();//把BufferedImage写入ByteArrayOutputStreamImageIO.write(image, "jpg", os);//ByteArrayOutputStream转成InputStreamInputStream input = new ByteArrayInputStream(os.toByteArray());//InputStream转成MultipartFilemultipartFile =new MockMultipartFile("file", "file.jpg", "text/plain", input);} catch (IOException e) {e.printStackTrace();}return multipartFile;}



    推荐阅读