URL的getFile()和getPath()方法的区别(转)

转自博客:http://blog.csdn.net/l375852247/article/details/7999063

import java.net.MalformedURLException;
import java.net.URL;  

public class dd {  

    /**
     * @param args
     */
    public static void main(String[] args) {
        try {
            URL url = new URL("file://ftp.yoyodyne.com/pub/files/foobar.txt?id=123456");
            System.out.println("url.getFile()="+url.getFile());
            System.out.println("url.getPath()="+url.getPath());
        } catch (MalformedURLException e) {
            e.printStackTrace();
        }
    }
}  

返回的结果:

url.getFile()=/pub/files/foobar.txt?id=123456
url.getPath()=/pub/files/foobar.txt

当将上面的

file://ftp.yoyodyne.com/pub/files/foobar.txt?id=123456 

改成

file://ftp.yoyodyne.com/pub/files/foobar.txt  

时:

返回的结果:

url.getFile()=/pub/files/foobar.txt
url.getPath()=/pub/files/foobar.txt

Java docs文档上说的:

The URL.getFile() javadocs say this:

Gets the file name of this URL. The returned file portion will be the same as getPath(), plus the concatenation of the value of getQuery(), if any. If there is no query portion, this method and getPath() will return identical results.

They will be the same unless there is a query string, e.g. a ?somename=value&somethingelse=value2 in the URL.

我是一个新手之前一直不清楚是怎么回事,现在明白了!

时间: 2024-10-17 14:29:00

URL的getFile()和getPath()方法的区别(转)的相关文章

[BS-27] 创建NSURL的几个方法的区别

创建NSURL的几个方法的区别 URL的基本格式 = 协议://主机地址/路径 URL和Path的区别 * URL:统一资源定位符,格式 “协议+主机名称+路径”   例如:[NSURL URLWithString:@"http://www.baidu.com"]; 本地文件URL字符串格式 file:///Users/wz/Desktop/main.c        //本地文件主机地址是localhost,可以省略,故有3个/ * Path:就是简单的路径,没有协议,没有主机地址 

RequestDispatcher接口的include()方法与forward()方法的区别

RequestDispatcher接口所定义的forward()方法可以将HTTP请求转送给其他Web资源(例如Servlet.JSP或HTML)进行处理,并产生HTTP回应.RequestDispatcher接口的include()方法与forward()方法非常类似,惟一的不同在于:利用include()方法将HTTP请求转送给其他Servlet后,被调用的Servlet虽然可以处理这个HTTP请求,但是最后的主导权仍然是在原来的Servlet.RequestDispatcher是一个Web

详解HTTP请求:get方法和post方法的区别

在讨论get方法和post方法的区别时,我们经常会提到两点: 1.get传送的数据量较小,不能大于2KB,而post传送的数据量较大,一般被默认为不受限制: 2.get安全性非常低,但是post安全性较高: 究其根本,为什么呢?就需要提到http报文以及http报文的格式. 首先我们先看一下HTTP请求报文的通用格式: 在<计算机网络--自顶向下方法>一书中提到很关键的两句话: 使用get方法时实体主体为空,而使用post方法时才使用. HTML表单经常使用GET方法,将输入数据(在表单字段)

GET与POST方法的区别

HTTP请求:GET与POST方法的区别 HTTP 定义了与服务器交互的不同方法,最基本的方法是 GET 和 POST.事实上 GET 适用于多数请求,而保留 POST 仅用于更新站点.根据 HTTP 规范,GET 用于信息获取,而且应该是 安全的和 幂等的.所谓安全的意味着该操作用于获取信息而非修改信息.换句话说,GET 请求一般不应产生副作用.幂等的意味着对同一 URL 的多个请求应该返回同样的结果.完整的定义并不像看起来那样严格.从根本上讲,其目标是当用户打开一个链接时,她可以确信从自身的

get,post数据长度的限制 2 GET与POST方法的区别

get,post数据长度的限制 这个问题在我的开发中也遇到,所以在此贴出来(也是在网上搜出来的,呵呵)这是原贴地址http://blog.csdn.net/somat/archive/2004/10/29/158707.aspx两个长度限制问题的分析(来源于项目) 一.问题起因在某项目释放后Bug统计的附件<释放后问题>里有:   问题  原因  分析  备注  CSV处理时,如果处理的主题数过多,发生URL参数上限的错误:  可变长度的参数通过URL方式传递,会造成这种潜在的错误发生.  1

函数和方法的区别

函数和方法的区别 一.函数和方法的区别 1.函数要手动传self,方法不用传 2.如果是一个函数,用类名去调用,如果是一个额方法,用对象去调用 举例说明: class Foo(object): def __init__(self): self.name="haiyan" def func(self): print(self.name) obj = Foo() obj.func() Foo.func(obj) 判断函数和方法的方式 from types import FunctionTy

HTTP协议中GET和POST方法的区别

转载 通常的理解 w3schools关于这个问题的解答:HTTP 方法:GET 对比 POST 列出了一般的理解: 方法 GET POST 后退按钮/刷新 无害 数据会被重新提交(浏览器应该告知用户数据会被重新提交). 书签 可收藏为书签 不可收藏为书签 缓存 能被缓存 不能缓存 编码类型 application/x-www-form-urlencoded application/x-www-form-urlencoded 或 multipart/form-data.为二进制数据使用多重编码.

Servlet的doGet与doPost方法的区别与使用

Servlet的doGet与doPost方法的区别与使用 2016年07月07日 13:05:13 阅读数:10222 一,区别 在使用表单提交数据到服务器的时候有两张方式可共选择,一个是post一个是get.可在<form>中的method属性中指定提交的方式.如:<form action="inputForm"method="get">,如果不指定method属性,则会默认该属性为"get"方式. Get和post都能

浅谈Get和Post方法的区别与TCP与UDP区别

Get和Post方法的区别 Get方法主要用于获取服务器资源,而Post方法除了能获取资源外,还可以向服务器上传数据. Get方法会把请求的数据附在URL后面,而Post不会. Get方法传输小数据,而Post方法主要用来传递大数据或比较隐私的数据,因此Post方法的安全性高一点. TCP与UDP区别 TCP是面向连接的,发送数据前必须建立可靠的连接:而UDP是无连接的,不需要建立连接 TCP传输可靠,能保证数据正确性:而UDP是不可靠的,传输时可能丢包 TCP用于传输大量数据(流模式):UDP