Java URL处理
本文发现了一些小问题,于23/07/2020, 07:45AM修改
学习Java,就讲究高效 内存管理 解决问题
今天我们来讲讲Java URL处理
介绍
我不擅长列表,只好应用,这里用Markdown引用,我的文章选择原创是问心无愧了...
这一段很无聊,像跳过我理解
要是不跳过你就没兴致继续看了
序号 方法描述 1 public URL(String protocol, String host, int port, String file) throws MalformedURLException 通过给定的参数(协议、主机名、端口号、文件名)创建URL 2 public URL(String protocol, String host, String file) throws MalformedURLException 使用指定的协议、主机名、文件名创建URL,端口使用协议的默认端口 3 public URL(String url) throws MalformedURLException 通过给定的URL字符串创建URL 4 public URL(URL context, String url) throws MalformedURLException 使用基地址和相对URL创建
继续来url类方法
- public String getPath()
返回URL路径部分。- public String getQuery()
返回URL查询部分。- public String getAuthority()
获取此 URL 的授权部分。- public int getPort()
返回URL端口部分- public int getDefaultPort()
返回协议的默认端口号。- public String getProtocol()
返回URL的协议- public String getHost()
返回URL的主机- public String getFile()
返回URL文件名部分- public String getRef()
获取此 URL 的锚点(也称为"引用")- public URLConnection openConnection() throws IOException
打开一个URL连接,并运行客户端访问资源
是不是感觉自己被耍了?
继续,URLConnect类方法
- Object getContent()
检索URL链接内容- Object getContent(Class[] classes)
检索URL链接内容- String getContentEncoding()
返回头部 content-encoding 字段值。- int getContentLength()
返回头部 content-length字段值- String getContentType()
返回头部 content-type 字段值- int getLastModified()
返回头部 last-modified 字段值。- long getExpiration()
返回头部 expires 字段值。- long getIfModifiedSince()
返回对象的 ifModifiedSince 字段值。- public void setDoInput(boolean input)
URL 连接可用于输入和/或输出。如果打算使用 URL 连接进行输入,则将 DoInput 标志设置为 true;如果不打算使用,则设置为 false默认值为 true- public void setDoOutput(boolean output)
URL 连接可用于输入和/或输出。如果打算使用 URL 连接进行输出,则将 DoOutput 标志设置为 true;如果不打算使用,则设置为 false 默认值为 false- public InputStream getInputStream() throws IOException
返回URL的输入流,用于读取资源- public OutputStream getOutputStream() throws IOException
返回URL的输出流, 用于写入资源- public URL getURL()
返回 URLConnection 对象连接的URL
示例
URLConnection示例
获取某个网页的内容
test.java
之前的讲解很详细了,这里就不写注释了
package test;
import java.io.*;
import java.net.*;
public class test
{
public static void main(String [] args)
{
try
{
URL url=new URL("https://www.xxx.com/");
/*
这里设定一个URL,你想要的链接
注意是http还是https
*/
URLConnection url_conn=url.openConnection();
HttpURLConnection conn=null;
if(url_conn instanceof HttpURLConnection)
{
conn=(HttpURLConnection) url_conn;
}
else
{
System.out.println("Error");
System.exit(0);
}
BufferedReader input=new BufferedReader(new InputStreamReader(conn.getInputStream()));
String HTML="";
String recv;
while((recv=input.readLine())!=null)
{
HTML+=recv+"\n";
}
/*
至此,
你已经获取了你的链接的内容,
存储在HTML变量里面
*/
System.out.println(HTML);//输出
/*
Eclipse真的会有问题, 还是存储到文件里再看
*/
File file=new File("HTML.html");
if(file.exists())
{
file.delete();
}
file.createNewFile();
FileWriter writer=new FileWriter(file);
writer.write(HTML);
writer.close();
//存储到文件中
}
catch(IOException err)
{
System.out.println("Error");
}
}
}
不过这种方式对中文不太友善,会…你懂的,自己试一试就知道了