Tag: url

有没有正确的方法来构建URL?

在我使用的大部分代码中都有可怕的东西,比如: String url = “../Somewhere/SomeServlet?method=AMethod&id=”+object.getSomething()+ “&aParam=”+object.getSomethingElse()); 或者 – 更糟糕的是: String url = “Somewhere/Here/Something.jsp?path=”+aFile.toString().replace(“\\”,”/”)+ “&aParam=”+object.getSomethingElse()); 有没有正确的方法: 创建一个新URL(或者它是一个URI)。 向其添加正确的转义参数。 在这些参数中添加格式良好的文件路径。 将其解析为String。 从本质上讲 – 构建字符串要比正确地完成它太容易了。 有没有办法正确地做到这一点就像建立字符串一样简单? 添加 为了清楚起见 – 经过一番思考 – 我想我正在寻找类似的东西: String s = new MyThing() .setPlace(“Somewhere/Something.jsp”) .addParameter(aName,aValue) .addParameter(aName,aFile) .toString(); 因此,它将处理转义的所有不愉快,并添加“?”/“&”并将“\”更改为“/”而不是使用“\”作为文件等。 如果我必须自己编写一个(即如果Apache不是一个选项),那么有真正的Java技术可以正确地转义各个部分。 我的意思是在参数中将“”转换为“”。 而在其他地方逃避“%20”。

用Java模拟URL

我们在我们想要模拟的一个Java类中有一个URL对象,但它是一个最终类,所以我们不能。 我们不希望达到上述水平,并模拟InputStream,因为这仍然会给我们留下未经测试的代码(我们有严格的测试覆盖标准)。 我已经尝试了jMockIt的reflectionfunction,但我们在Mac上运行,并且Java代理处理程序存在一些我无法解决的问题。 那么在junit测试中是否有任何不涉及使用真实URL的解决方案?

如何从uri确定文件的文件扩展名

假设我有一个URI,并且我想找到返回的文件的文件扩展名,我在Java中需要做什么。 例如, http : //www.daml.org/2001/08/baseball/baseball-ont上的文件是http://www.daml.org/2001/08/baseball/baseball-ont.owl 当我做 URI uri = new URI(address); URL url = uri.toURL(); String file = url.getFile(); System.out.println(file); 我无法看到扩展名为.owl的完整文件名,只是/2001/08/baseball/baseball-ont .owl /2001/08/baseball/baseball-ont我如何获得文件扩展名。 “

检查URL相等性的正确方法

我有以下情况: URL u1 = new URL(“http://www.yahoo.com/”); URL u2 = new URL(“http://www.yahoo.com”); if (u1.equals(u2)) { System.out.println(“yes”); } if (u1.toURI().equals(u2.toURI())) { System.out.println(“uri equality”); } if (u1.toExternalForm().equals(u2.toExternalForm())) { System.out.println(“external form equality”); } if (u1.toURI().normalize().equals(u2.toURI().normalize())) { System.out.println(“uri normalized equality”); } 这些检查都没有成功。 只有路径不同:u1的路径为“/”,而u2的路径为“”。 这些URL是否指向同一资源,是否可以在不打开连接的情况下检查此类内容? 我误解了URL的基本内容吗? 编辑我应该声明需要非hacky检查。 说空路径== /?是否合理? 我希望没有这种代码

如何validationJava中的String是否是有效的URL

如何检查字符串是否是Java中的URL?

如何在java中获取图像的大小

嗨我在java中使用Jtidy解析器。 URL url = new URL(“http://l1.yimg.com/t/frontpage/baba-ramdev-310511-60.jpg”); Image image = new ImageIcon(url).getImage(); int imgWidth = image.getWidth(null); int imgHeight = image.getHeight(null); 上面的代码工作正常,我正确得到高度和宽度。但我想看到图像的大小(例如它是以KB还是以MB为单位)。请帮助我,如何获得图像的大小。有什么办法吗?

用于从模式生成URL的Java库

我想知道是否有任何免费的Java库来自动化以下过程:1)一个提供遵循特定模式的URL,例如 http://www.asite.com/path/to/something/thischange/alsothischange-andthischangetoo 其中一个从上面的字符串中指定: thischange是在[0-10]范围内定义的整数; alsothischange是一个月,然后是集{jan,….,dec}; andthischangetoo是在[0-1000]范围内定义的整数; 2)给定模式,库生成所有可能的URL,例如 http://www.asite.com/path/to/something/0/jan-0 http://www.asite.com/path/to/something/1/jan-0 http://www.asite.com/path/to/something/2/jan-0 … 显然,我可以自己开发代码,但如果有可用的东西会更好。

重命名openconnection()还是将其切断?

是否可以重命名openconnection()? 原单: URL url = new URL(“http://google.co.in”); URLConnection connection = url.**openConnection**(); 后: URL url = new URL(“http://google.co.in”); URLConnection connection = url.**connect**(); 我只是想知道它是否可能以及我将如何去做。 还有其他选择吗? 为了做到这一点,我正在考虑上课,但我不能100%确定是否可行。 原单: URL url = new URL(“http://google.co.in”); URLConnection connection = url.**openConnection**(); 后: string st1 = “open”; string st2 = “Connection”; URL url = new URL(“http://google.co.in”); URLConnection connection = url.**st1 + st2**(); 当我把它变成一个字符串时,我得到一个错误,但我不确定如何将它结合起来来定义它。 […]

检测并缩短字符串中的所有URL

假设我有一条String消息: “你应该将file.zip上传到http://google.com/extremelylonglink.zip ,而不是https://stackoverflow.com/extremelylonglink.zip 。再试一次。” 我想要一个函数返回String newmessage: “你应该将file.zip上传到[第一个链接的缩短版本],而不是[缩短版本的第二个链接]。再试一次。” 我已经有了URL缩短器的代码,这是我的URL检测代码,它替换了消息中的第一个URL: if(message.contains(“http://”) || message.contains(“https://”)) { String regex = “(?i)\\b((?:https?://|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][az]{2,4}/)(?:[^\\s()]+|\\(([^\\s()]+|(\\([^\\s()]+\\)))*\\))+(?:\\(([^\\s()]+|(\\([^\\s()]+\\)))*\\)|[^\\s`!()\\[\\]{};:’\”.,?«»“””]))”; Matcher m = Pattern.compile(regex).matcher(message); if (m.find()) { String url = m.group(); String shorted = null; try { shorted = Shortener.GetShortedISGD(url); } catch (IOException e1) { // TODO Auto-generated catch block } } String intercepted = message.replace(url, shorted); e.setMessage(intercepted); } […]

自定义classLoader问题

接下来的问题是:我从这里获取了基类classLoader代码。 但是我的classLoader是特定的,它必须能够从文件系统加载类(让我们拿WinOS),所以在classLoader中必须是一些setAdditionalPath()方法,它设置一个路径(文件系统上的一个目录),来自我们将加载类(仅* .class,没有jar)。 这里是代码,它从链接修改加载器(你可以看到,只修改了loadClass),但它无法正常工作: public void setAdditionalPath(String dir) { if(dir == null) { throw new NullPointerException(“”); } this.Path = dir; } public Loader(){ super(Loader.class.getClassLoader()); } public Class loadClass(String className) throws ClassNotFoundException { if(Path.length() != 0) { File file = new File(Path); try { // Convert File to an URL URL url = file.toURL(); URL[] urls […]