java如何判断一段文本是否是网址,请给出完整代码,谢谢
答案:2 悬赏:50
解决时间 2021-04-21 10:28
- 提问者网友:我喜歡係
- 2021-04-20 20:31
如题,我需要一个判断一段文本是否是网址的方法,并不局限于正则表达式。
最佳答案
- 二级知识专家网友:堕落奶泡
- 2021-04-20 21:04
你可以考虑直接访问一下这段文本,看看能不能访问就好了
import java.io.InputStream;
import java.net.URL;
public class Test {
public static void main(String[] args) {
URL url;
try {
url = new URL(inputstring); //inputstring 就是你需要判断的那段文本
InputStream in = url.openStream();
System.out.println("连接可用");
} catch (Exception e1) {
System.out.println("连接打不开!");
url = null;
}
}
}
import java.io.InputStream;
import java.net.URL;
public class Test {
public static void main(String[] args) {
URL url;
try {
url = new URL(inputstring); //inputstring 就是你需要判断的那段文本
InputStream in = url.openStream();
System.out.println("连接可用");
} catch (Exception e1) {
System.out.println("连接打不开!");
url = null;
}
}
}
全部回答
- 1楼网友:duile
- 2021-04-20 22:21
解决这种问题,
简单说,设那个大文件为big.txt
写一个程序生成一个big.idx数据文件,记录big.txt每一行的结束位置+1,每个位置用long类型存储。
比如得到数据内容(非文本):
[10][22][34][84] ....[2345312].....[50000000]
扫描一遍,生成这500mb的长度文件,比如有10万行,这个big.idx文件就有800kb左右。
就根据big.idx可以查找指定行数了,比如查第1234行
已知一个long占8个字节,打开
第1234行的起始位置的存储位置p=(1234-2)*8=9856
第1234行的长度len的位置lp=(1234-1)*8=9864
寻道big.idx的p处,在p处读取一个long为pos
寻道big.idx的lp处,在p处读取一个long为npos
pos中就记录big.txt中第1234行的起始位置
该行长度len=npos-pos;
打开big.txt,查找pos位置,读len个字节,转换成字符串,
就读出了指定的1234行
把这个不大的big.idx的内容整理到内存中间,读取速度更快。
引经据典说,以上属于数据库基础的isam方法。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯