`
wjm901215
  • 浏览: 154940 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

java读取网络上的图片并保存到本地,图片文件名不变

    博客分类:
  • java
 
阅读更多
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class Getpic{
  public Getpic(){
  }

  public static boolean saveUrlAs(String fileUrl, String savePath)/*fileUrl网络资源地址*/
  {

  try
  {
  URL url = new URL(fileUrl);/*将网络资源地址传给,即赋值给url*/
  /*此为联系获得网络资源的固定格式用法,以便后面的in变量获得url截取网络资源的输入流*/
  HttpURLConnection connection = (HttpURLConnection)url.openConnection();
  DataInputStream in = new DataInputStream(connection.getInputStream());
  /*此处也可用BufferedInputStream与BufferedOutputStream*/
  DataOutputStream out = new DataOutputStream(new FileOutputStream(savePath));
  /*将参数savePath,即将截取的图片的存储在本地地址赋值给out输出流所指定的地址*/
  byte[] buffer = new byte[4096];
  int count = 0;
  while ((count = in.read(buffer)) > 0)/*将输入流以字节的形式读取并写入buffer中*/
  {
  out.write(buffer, 0, count);
  }
  out.close();/*后面三行为关闭输入输出流以及网络资源的固定格式*/
  in.close();
  connection.disconnect();
  return true;/*网络资源截取并存储本地成功返回true*/

  }
  catch (Exception e)
  {
  System.out.println(e + fileUrl + savePath);
  return false;
  }
  }

  public static void main(String[] args)
  {
  Getpic pic = new Getpic();/*创建实例*/
  String photoUrl =   
http://hiphotos.baidu.com/yanshennan/pic/item/03a505c8bcbaf6557f3e6f8a.jpg";
  /*photoUrl.substring(photoUrl.lastIndexOf("/")的方法将返回最后一个符号为
  * ‘/’后photoUrl变量中的所有字符,包裹此自身符号*/
  String fileName = photoUrl.substring(photoUrl.lastIndexOf("/"));
  String filePath = "E:";
  /*调用函数,并且进行传参*/
  boolean flag = pic.saveUrlAs(photoUrl, filePath + fileName);
  System.out.println("Run ok!\n Get URL file " + flag);
  System.out.println(filePath);
  System.out.println(fileName);
  }

}

 

分享到:
评论

相关推荐

    java代码保存宽高不变压缩图片(失真不大).docx

    6. **绘制缩放后的图像**:`tag.getGraphics().drawImage()`将缩放后的图像绘制到新创建的`BufferedImage`对象上。 7. **JPEG编码和写入文件**:使用`JPEGImageEncoder`和`JPEGEncodeParam`对图像进行JPEG编码。`...

    jap/java图片上传ueditor编辑工具

    实现这一功能时,后台需要处理网络请求,抓取图片并进行同样的保存流程。 最后,插入视频和涂鸦自动保存功能也是Ueditor的特色。插入视频一般需要后台提供视频转码或上传至第三方视频服务的能力,而涂鸦自动保存则...

    xml读取,不需要任何jar包

    本主题将详细探讨如何在Java环境中,无需额外引入任何jar包,即可进行XML文件的读取。 在Java标准库中,JDK已经包含了处理XML的基本功能,主要由`java.io`和`javax.xml.parsers`等包提供。以下是一份简化的XML读取...

    android读取文件

    在Android平台上,开发人员经常需要处理文件的读取操作,以加载数据、资源或实现应用程序的各种功能。"android读取文件"是一个常见的需求,尤其在处理应用内的文本、图片、音频或其他二进制数据时。本篇文章将深入...

    上传图片无刷新预览

    4. **后端处理**:在服务器端,JSP可以接收这些数据,解码Base64字符串,将其保存为实际的图片文件,并可能执行其他业务逻辑,如验证、存储或处理数据。处理完成后,服务器可以返回一个简单的响应,告知前端上传成功...

    图片管理器

    在创建和添加图片功能方面,程序可能使用了文件系统API来与硬盘交互,读取或保存图片文件。开发者可能会使用C#、Java或Python等编程语言,它们都提供了丰富的文件操作接口。例如,通过创建新的文件对象,将图片数据...

    JSP上传图片并生成缩略图

    ### JSP上传图片并生成缩略图:使用jspsmart组件深入解析 #### 知识点一:JSP与jspsmart组件 JSP(JavaServer Pages)是一种用于生成动态网页的技术,它允许将HTML、CSS、JavaScript以及Java代码混合在一个文件中...

    txt_batch_rename_txt文档批量改名_批量读取并另存.txt数据文档_源码.zip

    批量读取并另存指的是程序逐个打开txt文件,读取其内容,可能进行某些处理(如格式转换、内容替换等),然后将处理后的数据保存到新的txt文件中。这个过程可能涉及到文件的打开、读取、写入和关闭操作。在Python中,...

    java使用Base64实现文件加密解密

    Base64编码并不是加密算法,它是一种编码机制,用于确保二进制数据在传输时保持不变性,并且可以正确地在文本协议中传输。 Java中可以通过sun.misc.BASE64Encoder和sun.misc.BASE64Decoder两个类实现对数据的Base64...

    2023最新java面试题附带答案详解,代码,word文档

    5. **Java标识符**:Java的标识符是区分大小写的,源文件中的公共类(public class)必须与文件名相同,扩展名为.java。合法的Java标识符不能以数字开头,也不能包含特殊字符,但可以包含下划线(_)和美元符号($)...

    【Java基础】-- FileUtils工具类常用方法(csdn)————程序.pdf

    - `copyFileToDirectory(File srcFile, File destDir)`:将源文件(srcFile)拷贝到目标目录(destDir)内,文件名保持不变,同样保留原始文件日期。 以下是一些示例代码: ```java File srcFile = new File("E:\\java...

    JAVA阶段模拟试题

    根据给定的文件信息,我们将逐一分析每个问题的知识点,并给出详细的解释。 ### 1. 给定如下Java程序,编译运行时,将在()出现错误。(选一项) ```java public class Test{ public static void main(String[]...

    android 读取Resources 和 Assets 中的文件

    资源是Android Studio编译期间通过res目录下的XML文件生成的,这些文件在构建过程中被编译并打包到APK中,可以是图片、字符串、布局、颜色等。Android系统提供了一个资源ID系统,使得开发者可以通过资源ID来访问这些...

    同名文本文件合并器 可将两个文件夹中文件名相同的文本文件进行按顺序合并

    8. **编程语言与实现**:这个工具可能使用各种编程语言实现,如Python、Java、C#等,每种语言都有其处理文件操作的库函数,如Python的`os`和`shutil`模块,Java的`java.io`包等。 9. **自动化与批处理**:对于处理...

    image_search:一个简单的基于内容的Java图像检索程序

    这个系统基于图像内容进行搜索,这意味着它不依赖于图像的元数据(如文件名或标签),而是分析图像本身的特征来找到相似的图片。 在图像检索领域,一种常见的方法是使用特征匹配。这些特征可以包括颜色直方图、纹理...

    java上传的一个小案例 无刷新提示,无乱码哦

    我们需要解析`multipart/form-data`类型的请求,获取上传的文件,并保存到服务器的指定位置。同时,处理文件名时要确保使用正确的编码,例如使用`new String(file.getName().getBytes("ISO-8859-1"), "UTF-8")`来...

    基于Java的实例源码-学生成绩系统(图形界面).zip

    5. **数据持久化**:数据库的使用涉及到数据持久化,即保存和检索数据,即使程序关闭也能保持数据不变。 6. **文件I/O操作**:可能有读取或写入配置文件、日志文件的需求,因此会涉及到Java的File类和相关的I/O流。...

    动态Jsp页面转换成静态Html页面

    2. 页面解析:Servlet读取JSP文件,解析并执行其中的Java代码,生成HTML字符串。 3. 文件保存:Servlet将生成的HTML字符串写入到一个新的HTML文件中,通常保存在服务器的特定目录下。 4. 返回响应:Servlet将新生成...

    dicomreader:DicomReader是一个简单的Java Dicom文件解密程序

    基于Swing组件的图形用户界面允许用户选择要将标头和图像保存到的文件名。 如果还需要pgm图像,则其名称是根据ascii文本图像的文件名自动生成的。 DicomReader需要一台Dicom词典才能工作,它可以从中读取Dicom标签...

    aspose-cad-19.5-jdk.jar.7z

    5. **保存结果**:转换完成后,无水印的PDF文件将保存到指定位置。 在提供的文件列表中,还提到了"aspose-cad-19.6-jdk.jar",这意味着可能有一个更新的版本19.6可用。升级到新版本通常意味着修复了已知问题,增加...

Global site tag (gtag.js) - Google Analytics