Java 网络实例二(查看主机指定文件的最后修改时间、Socket实现多线程服务器程序、Socket连接到指定主机、网页抓取)
查看主机指定文件的最后修改时间
import java.net.URL;
import java.net.URLConnection;
import java.util.Date;
import java.text.SimpleDateFormat;public class Main {public static void main(String[] argv) throws Exception {URL u = new URL("http://127.0.0.1/test/test.html");URLConnection uc = u.openConnection();SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");uc.setUseCaches(false);long timestamp = uc.getLastModified();System.out.println("test.html 文件最后修改时间 :" + ft.format(new Date(timestamp)));}
}
以上代码运行输出结果为:
test.html 文件最后修改时间 :2018-09-06 10:06:04
Socket 实现多线程服务器程序
import java.io.IOException;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;public class MultiThreadServer implements Runnable {Socket csocket;MultiThreadServer(Socket csocket) {this.csocket = csocket;}public static void main(String args[]) throws Exception {ServerSocket ssock = new ServerSocket(1234);System.out.println("Listening");while (true) {Socket sock = ssock.accept();System.out.println("Connected");new Thread(new MultiThreadServer(sock)).start();}}public void run() {try {PrintStream pstream = new PrintStream(csocket.getOutputStream());for (int i = 100; i >= 0; i--) {pstream.println(i + " bottles of beer on the wall");}pstream.close();csocket.close();}catch (IOException e) {System.out.println(e);}}
}
以上代码运行输出结果为:
Listening
Connected
使用 Socket 连接到指定主机
import java.net.InetAddress;
import java.net.Socket;public class WebPing {public static void main(String[] args) {try {InetAddress addr;Socket sock = new Socket("www.sanguo.com", 80);addr = sock.getInetAddress();System.out.println("连接到 " + addr);sock.close();} catch (java.io.IOException e) {System.out.println("无法连接 " + args[0]);System.out.println(e);}}
}
以上代码运行输出结果为:
连接到 http:/www.runoob.com/222.73.134.120
网页抓取
以下实例演示了如何使用 net.URL 类的 URL() 构造函数来抓取网页:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.net.URL;public class Main {public static void main(String[] args) throws Exception {URL url = new URL("http://www.sanguo.com");BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));BufferedWriter writer = new BufferedWriter(new FileWriter("data.html"));String line;while ((line = reader.readLine()) != null) {System.out.println(line);writer.write(line);writer.newLine();}reader.close();writer.close();}
}
以上代码运行输出结果为(网页的源代码,存储在当前目录下的 data.html 文件中):
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=11,IE=10,IE=9,IE=8"/>……
Java 网络实例二(查看主机指定文件的最后修改时间、Socket实现多线程服务器程序、Socket连接到指定主机、网页抓取)相关推荐
- java检测文件修改_Java 实例 – 查看主机指定文件的最后修改时间
Java 实例 - 查看主机指定文件的最后修改时间 以下实例演示了如何查看主机指定文件的最后修改时间: /* author by w3cschool.cn Main.java */ import ja ...
- Java 查看指定文件最后的修改时间
对于我们电脑上的文件我们会经常打开关闭并进行相关的修改,那么我们如何让获取一个文件最后的修改日期的呢? 代码如下 import java.net.URL; import java.net.URLCon ...
- Java网络编程(二) 连续发送数据
有了建立连接的基础后,接下来尝试连续地发送和接收数据. 对于发送端比较好理解,有数据时就可以发送出去.对于接收端,就需要一直监听是否有数据发送过来.一个基本的方法就是使用 while(true) 循环 ...
- java 修改文件创建时间_Java如何更改文件的最后修改时间?
在java编程中,如何更改文件的最后修改时间? 此示例显示如何使用File类中的FileToChange.lastModified()和fileToChange setLastModified()来更 ...
- python爬网站数据实例-如何用Python爬数据?(一)网页抓取
如何用Python爬数据?(一)网页抓取 你期待已久的Python网络数据爬虫教程来了.本文为你演示如何从网页里找到感兴趣的链接和说明文字,抓取并存储到Excel. 需求 我在公众号后台,经常可以收到 ...
- 玩转Java网页抓取
- 使用Java进行网页抓取 - 用于网页抓取的流行语言有Python.JavaScript和Node.js.PHP.Java.C#等.因为有很多选择,想要确定哪种语言最合适并不容易.每种语言都有其优 ...
- python网络爬虫从入门到实践(第2版)_带你读《Python网络爬虫从入门到实践(第2版)》之三:静态网页抓取-阿里云开发者社区...
第3章 静态网页抓取 在网站设计中,纯粹HTML格式的网页通常被称为静态网页,早期的网站一般都是由静态网页制作的.在网络爬虫中,静态网页的数据比较容易获取,因为所有数据都呈现在网页的 HTML代码中. ...
- python初学者爬虫教程(二)动态网页抓取
python爬虫教程(二)动态网页抓取 解析真实地址抓取 通过selenium 模拟浏览器抓取 selenium 安装与测试 selenium爬取一条评论 selenium获取文章的所有评论 sele ...
- python网络爬虫学习笔记(6)动态网页抓取(一)知识
文章目录 网络爬虫学习笔记(2) 1 资料 2 笔记 2-1 动态抓取概述 2-2 通过浏览器审查元素解析真实网页地址 2-3 网页URL地址的规律 2-4 json库 2-5 通过Selenium模 ...
最新文章
- oracle Database 10g后:闪回表
- RMAN的show,list,crosscheck,delete 命令整理
- Scrapy:python3下的第一次运行测试 1
- LiveVideoStack线上交流分享 (十四) —— 深度学习在视频分析处理的实践
- C++学习——set与map
- 项目管理过程组和知识领域 简介重点记忆
- tcp协议的端口状态
- 如何安装中文manpage
- ITU-T Technical Paper: QoS 的参数(非常的全,共计88个)
- [NOIP2016 普及组 T1] 买铅笔
- matlab中角度,利用 matlab 计算各种角度
- 没什么流量的产品该怎么引流呢?淘宝上新没有流量怎么办?
- R plot图片背景设置为透明_万能转换:R图转成Word、PPT、Excel、HTML、Latex、矢量图等...
- Miyeok Guk (Korean Seaweed Soup) - Миён Гук (Корейский суп из морепродуктов)
- PHP网页文件扩展名,网页文件的扩展名有哪些
- ARCGIS清晰的地图,底图,道路街景图
- 解决phpstorm运行很卡问题
- Power BI数据查询编辑
- 计算机技术在多媒体教学中的作用,多媒体教学中的现状及作用
- webpack编译出错You may need an appropriate loader to handle this file type.
热门文章
- iMeta教程 | 使用PMS分析微生物组(图文+视频)
- 史上最牛研究生,总结出惠人无数的“十大经验”,并发表于Nature Medicine
- 送书 | 主成分分析PCA
- python爬虫外快_我用Python爬虫挣钱的那些事
- phpexcel的使用方法详细介绍
- 操作系统课设之内存管理
- Vue第一部分(6):Vue的生命周期
- C++笔记-ClassA a和ClassA a()的区别与联系
- Qt工作笔记-QT_BEGIN_NAMESPACE与QT_END_NAMESPACE的理解
- C++工作笔记-仿大佬“容器”风格