java 保存文件在服务器_java文件保存至服务器
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class ImageRequest{
/**
* 读取网络图片并保存至服务器硬盘中
* @param imgUrl
* @return 图片保存的服务器路径
*/
public static String getImages(String imgUrl){
String imgPath = "";
try{
//new一个URL对象
URL url = new URL(imgUrl);
//打开链接
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
//设置请求方式为"GET"
conn.setRequestMethod("GET");
//超时响应时间为5秒
conn.setConnectTimeout(5 * 1000);
//通过输入流获取图片数据
InputStream inStream = conn.getInputStream();
//得到图片的二进制数据,以二进制封装得到数据,具有通用性
byte[]data = readInputStream(inStream);
imgPath = ImageRequest.class.getClassLoader().getResource("").getPath();
imgPath = imgPath.split("WEB-INF")[0];
imgPath = imgPath+"images/"+"haha.jpg";
//new一个文件对象用来保存图片,默认保存当前工程根目录
File imageFile = new File(imgPath);
//创建输出流
FileOutputStream outStream = new FileOutputStream(imageFile);
//写入数据
outStream.write(data);
//关闭输出流
outStream.close();
//服务器文件路径
imgPath = imgPath.split("WebRoot")[1];
System.out.println(imgPath);
}catch(Exception e){e.printStackTrace();}
return imgPath;
}
/**
* 读取文件流
* @param inStream
* @return
* @throws Exception
*/
public static byte[] readInputStream(InputStream inStream) throws Exception{
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
//创建一个Buffer字符串
byte[] buffer = new byte[1024];
//每次读取的字符串长度,如果为-1,代表全部读取完毕
int len = 0;
//使用一个输入流从buffer里把数据读取出来
while( (len=inStream.read(buffer)) != -1 ){
//用输出流往buffer里写入数据,中间参数代表从哪个位置开始读,len代表读取的长度
outStream.write(buffer, 0, len);
}
//关闭输入流
inStream.close();
//把outStream里的数据写入内存
return outStream.toByteArray();
}
public static void main(String[] args) throws Exception {
ImageRequest.getImages("http://image.meilele.com/images/201311/1385338928366387259.jpg");
}
}
java 保存文件在服务器_java文件保存至服务器相关推荐
- java 判断ftp文件是否存在_java如何检验ftp服务器中指定文件是否存在
详细内容 项目工作中,需要检验ftp服务器中指定文件是否存在,在网上查阅了相关资料,可以通过ftpClient类进行实现. 免费学习视频教程分享:java课程 具体实现代码:import org.ap ...
- java文件上传_Java文件上传细讲
什么是文件上传? 文件上传就是把用户的信息保存起来. 为什么需要文件上传? 在用户注册的时候,可能需要用户提交照片.那么这张照片就应该要进行保存. 上传组件(工具) 为什么我们要使用上传工具? 为啥我 ...
- java 当前类相对路径_JAVA文件中获取该项目的相对路径方法
1.基本概念的理解 绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:C:\xyz\test.txt 代表了test.txt文件的绝对路径.http://www ...
- java 文件写入 读取_JAVA文件的两种读取方法和三种写入方法
在使用java对文件进行读写操作时,有多种方法可以使用,但不同的方法有不同的性能. 此文对常用的读写方法进行了整理,以备不时之需. 1.文件的读取 主要介绍两种常用的读取方法.按行读取和按字符块读取. ...
- java 调用 swf 文件上传_java文件上传方法
文件上传方法(一次上传一个文件,多个文件的话,请写循环调用) Upload.uploadFile(theFile, filePath) 说明: theFile:类型是FormFile filePath ...
- java文件操作和_JAVA文件操作类和文件夹的操作
JAVA文件操作类和文件夹的操作 package com.gamvan.tools; import java.io.BufferedReader; import java.io.File; impor ...
- java中三种方法_Java文件I/O的三种方法
Java文件I/O的三种方法 RandomAccessFile是不属于InputStream和OutputStream类系的.实际上,除了实现DataInput和DataOutput接口之外(Data ...
- java文件与流_Java文件与流
文件 文件管理通过java.io包下.file类 作用: 1.文件属性 2.文件检查 3.文件删除 4.不包含对其文件内容的处理 File类的构造 语法: File f =new File(Strin ...
- java文件流读取_java 文件及流读取
在Java语言的IO编程中,读取文件是分两个步骤:1.将文件中的数据转换为流,2.读取流内部的数据.其中第一个步骤由系统完成,只需要创建对应的流对象即可,对象创建完成以后步骤1就完成了,第二个步骤使用 ...
最新文章
- 【转载】SAP Oracle ERP产品的比较
- redhat 中配置静态 IP
- Linux性能调优、Linux集群与存储等
- Spring boot的Maven配置依赖
- 不能包含全角 正则_java常用正则表达式
- 换行标签br(HTML)
- 【渝粤教育】电大中专电子线路作业 题库
- Zabbix安装界面显示PHP time zone 为“红色”的解决办法
- 数学建模_混合赌博模型
- win10系统用cadance画封装软件卡死问题
- Android10相机能够到获取经纬度,但是不能在相机中显示
- OpenKG开源系列 | 面向知识的推理问答编程语言KoPL(清华大学)
- Win10 底部应用图标显示不正常(空白)
- 货币银行学第一次作业
- css rgb转16进制,jquery获取元素颜色css('color')的值返回RGB。如何转十六进制
- win10系统C盘突然红了爆满占了170G找了几天怎么也找不到哪个文件占用这么多磁盘空间
- android 画图便宜,10个最好用的绘画App,赶紧mark
- angular中的 :host 、:host-context、::ng-deep
- 远程控制电脑会不会泄露隐私
- 热力学多元函数微分基础
热门文章
- mysql 统计当天,本周,本月,上一月的数据
- MyBatis JdbcType介绍
- linux中安装jdk安装(rpm安装)
- linux怎么查看sklearn版本,Sklearn——Sklearn的介绍与安装
- java开发属于itsm吗_【行业】IT服务管理(ITSM):IT行业变革的思考(1)
- 使用PPMI改进共现矩阵
- mysql 索引空间大小_查看数据库表中容量大小,表有多少记录,占多少空间以及索引的大小,以及未使用空间...
- java 匿名类型_Java之匿名类讲解
- window访问不到linux的activemq_springboot整合开源项目测试拦截接口访问的频率
- centos7 修改为任意网卡名_VirtualBox虚拟机双网卡配置实现与本机互通并上网