`
Joy.zhang
  • 浏览: 59047 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

利用jsp读取远程文件保存到本地

    博客分类:
  • Jsp
阅读更多
本文介绍利用jsp读取远程文件保存到本地的文章专题。

用jsp,读远程文件,保存到本地

读取网络文件有些不一样,我给你一个完整的代码吧,存成jsp就可以直接运行的。
<%@ page import="java.io.*"%>
<%@ page import="java.net.*"%>
<%@ page import="java.util.Properties"%>
<%

//?程文件路径
String s1 = "http://www.google.co.jp";
//本地存放路径
String s2 = "C:\\test.html";

URL urlfile = null;
HttpURLConnection httpUrl = null;
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
File f = new File(s2);

//make proxy
String proxy = "192.168.224.12";
String port = "8080";
Properties systemProperties = System.getProperties();
systemProperties.setProperty("http.proxyHost",proxy);
systemProperties.setProperty("http.proxyPort",port);

try{
//?接指定的网??源,?取网??入流
urlfile = new URL(s1);
httpUrl = (HttpURLConnection)urlfile.openConnection();
httpUrl.connect();
bis = new BufferedInputStream(httpUrl.getInputStream());
}catch(Exception e){
System.out.println(e.toString());
}

try{
bos = new BufferedOutputStream(new FileOutputStream(f));;
byte[] b = new byte[1024];
while(bis.read(b)!=-1) {
bos.write(b);
}?
}catch(Exception e){
System.out.println(e.toString());?
}finally{
try{
bos.flush();
bis.close();
httpUrl.disconnect();
}catch(Exception e){
System.out.println(e.toString());?
}
}
?
%>
<center>
<form name="search" action="results.jsp" method="get">
<p>
<input name="query" size="44"/>&nbsp;Search Criteria
</p>
<p>
<input name="maxresults" size="4" value="100"/>&nbsp;Results Per Page&nbsp;
<input type="submit" value="Search"/>
</p>
??????? </form>
</center>
其中
//make proxy
String proxy = "192.168.224.12";//防火墙地址
String port = "8080"; //防火墙端口
Properties systemProperties = System.getProperties();
systemProperties.setProperty("http.proxyHost",proxy);
systemProperties.setProperty("http.proxyPort",port);
这一段是如果你的机器设定了防火墙,需要加上,如果是直接连上网,就不用。
分享到:
评论
2 楼 zhao103804 2010-07-16  
http://www.google.co.jp
zhao103804 写道
我怎么感觉你写的太麻烦点了吧,直接抓取那个页面不就行了吗?





public static void main(String[] args) {
String url = "http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx/getRegionProvince";
url="http://vip.ibook8.com/2008/8/thinkingjava4th.rar";
String savepath = "f:\\thinkingjava4th.txt";
getAndSave(url,savepath);
}

public static void getAndSave(String url,String path) {
InputStream inputStream = null;
try {
URL surl = new URL(url);
URLConnection uc = surl.openConnection();
uc.connect();
inputStream = uc.getInputStream();
FileOutputStream fos=new FileOutputStream(path);
byte[] b = new byte[1024];
int len = 0;
while ((len = inputStream.read(b)) > 0) {
fos.write(b, 0, len);
}
inputStream.close();
fos.flush();
fos.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}


那个URL改成url=“http://www.google.co.jp” 
savepath=“C:\\test.html”
1 楼 zhao103804 2010-07-16  
我怎么感觉你写的太麻烦点了吧,直接抓取那个页面不就行了吗?





public static void main(String[] args) {
String url = "http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx/getRegionProvince";
url="http://vip.ibook8.com/2008/8/thinkingjava4th.rar";
String savepath = "f:\\thinkingjava4th.txt";
getAndSave(url,savepath);
}

public static void getAndSave(String url,String path) {
InputStream inputStream = null;
try {
URL surl = new URL(url);
URLConnection uc = surl.openConnection();
uc.connect();
inputStream = uc.getInputStream();
FileOutputStream fos=new FileOutputStream(path);
byte[] b = new byte[1024];
int len = 0;
while ((len = inputStream.read(b)) > 0) {
fos.write(b, 0, len);
}
inputStream.close();
fos.flush();
fos.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

相关推荐

    JSP采集 JSP小偷程序

    - **存储数据**:将提取到的数据保存到本地文件或数据库中。 - **异常处理**:对可能出现的网络错误、解析错误等进行处理,确保程序的健壮性。 4. **JSP小偷程序的风险与伦理问题** 虽然JSP小偷程序在某些场景下...

    JSP调用摄像头

    - 如果需要将摄像头捕获的图像保存到服务器,可以使用FileReader API读取图像数据,通过Ajax发送到后端,后端使用Java处理并存储图片。 5. **安全和权限问题** - 调用摄像头前必须获得用户许可,否则会被浏览器...

    录音上传到后台,在前端播放,页面语音通信

    4. **文件存储与检索**:保存的音频文件应有一个合理的存储策略,如存储在服务器的本地文件系统、云存储服务(如AWS S3或阿里云OSS)。为了方便后续的播放,每个文件需要关联一个唯一的标识符,可以通过数据库记录...

    教材订购系统(jsp+servlet+mysql).zip

    9. **Web应用部署**:了解如何将打包好的WAR文件部署到服务器,如在本地或远程服务器上配置Tomcat,并设置数据库连接。 通过这个项目,开发者可以深入理解Web应用开发流程,熟悉Java Web技术栈,提升数据库管理和...

    html5实现摄像头拍照并使用java进行照片保存

    然后,可以使用Java的`javax.imageio.ImageIO`类将字节数组保存为本地文件或上传至云存储服务。以下是一个简化的Servlet处理逻辑: ```java import javax.imageio.ImageIO; import javax.servlet.ServletException;...

    采用dwr+ajax和struts开发文件上传进度条

    - 实现文件上传逻辑,包括读取文件、保存文件等操作。 - 在上传过程中,可以通过监听器或自定义逻辑来计算上传进度,并通过DWR返回给前端。 5. **前端进度条展示**: - 使用JavaScript和CSS创建一个进度条组件,...

    java+FFmpeg+JavaCV实现无控件HTML页面视频实时预览,录像等,RTSP协议

    6. **录像功能**:项目可能使用JavaCV库来捕获视频流,并将其保存为本地文件。FFmpeg可以在此过程中帮助进行编码和格式转换,确保录像文件的质量和兼容性。 7. **WebSocket**:这是一种在TCP连接上建立的全双工通信...

    webdisk JAVA

    3. **文件系统接口**:为了与本地或远程文件系统交互,需要设计一套文件操作接口。这包括读取、写入、创建、删除、重命名文件等方法。可以使用Java的`java.io`和`java.nio`包来实现这些功能。 4. **用户认证与授权*...

    利用Java进行Excel数据导入导出.pptx

    - **创建Workbook对象**:这是读取Excel文件的基础,可以通过FileInputStream从本地文件或输入流创建Workbook对象。 ```java import jxl.*; try { FileInputStream fis = new FileInputStream("sourcefile.xls"); ...

    NTKO文档在线编辑控件4.0.1.2

    另外新增印章管理控件,可在浏览器中创建,修改印章从保存到本地或者服务器。 4 新增压缩存储和传输功能 V2.5.1版本新增的压缩存储和传输功能,使的20K左右的Word文档压缩后只有2K左右。极大节约了数据库或磁盘空间...

    网管教程 从入门到精通软件篇.txt

    CHK:由Windows磁盘碎片整理器或磁盘扫描保存的文件碎片 CHM:编译过的HTML文件 CHP:Ventura Publisher章节文件 CHR:字符集(字体文件) CHT:ChartViem文件;Harvard Graphics矢量文件 CIF:Adaptec CD 创建...

    JAVA上百实例源码以及开源项目源代码

    摘要:Java源码,算法相关,密钥 Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、...

    ssh 上传 下载 实例

    3. **参数配置**:使用 `&lt;param&gt;` 标签指定文件保存目录。 示例代码如下: ```xml &lt;!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" ...

    Android_WebView

    ### Android WebView 加载网页并利用 Cookie 保存信息 #### 知识点解析 **1. WebView 加载 INTERNET 网页** WebView 是 Android 提供的一个用于显示 Web 内容的组件。它允许应用程序直接在应用内部加载和显示 ...

    j2ee java C# php 页面 获取摄像头 截图,源码

    文件API允许JavaScript在客户端处理文件,包括读取、转换和发送到服务器。服务器端接收到文件后,会保存到指定的存储位置。 7. **Tomcat**: Tomcat作为Java应用服务器,负责处理HTTP请求,执行Java Servlet和JSP...

    超级有影响力霸气的Java面试题大全文档

     动态INCLUDE用jsp:include动作实现 &lt;jsp:include page="included.jsp" flush="true" /&gt;它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。 静态INCLUDE用include伪码实现,定不会检查所含文件...

    最新Java面试大全

    - **直接调用其他EJB**:应通过本地或远程接口。 #### 27. Java虚拟机中的另一种类型 - **引用类型**:如对象引用、数组等。 #### 28. 创建对象的其他方式 - **反射**:使用Class类的newInstance()方法。 - **...

    Java Struts 实现拦截器

    - **作用**: 确定如何获取Action实例,无论是在本地还是远程。 - **ActionInvocation**: - **功能**: 使用命令模式执行Action,负责拦截器的调用。 - **实现**: 通过继承`Invocation`接口实现对Action的调用逻辑...

Global site tag (gtag.js) - Google Analytics