微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在URL和Windows文件名Java之间转换?

有没有一个标准的/好的方式之间转换url和Windows文件名,在Java中?

我正在尝试下载文件,但我希望Windows文件名可以转换回原来的文件名。 请注意,url的查询部分是至关重要的,因为我将下载不同的页面,只有在查询不同。

我目前的解决方法是用特定的string(如“QQ”)replace非法字符(如'?'),但是这使得转换回url不那么透明。 有没有更好的办法?

比较C ++中的两个文件

带有–remove-sent-files选项的rsync和打开的文件

seekg()读取文本文件时奇怪的偏移量

禁用特定文件上的caching/缓冲区(Linux)

使用C中的循环创build目录和文件

使用命名pipe道(或其他)作为内存中的文件

在UNIX上使用utime获取文件修改时间

从特定文件获取特定文件

比较两个文件删除部分匹配的有效方法

替代epoll_wait,它不等待文件描述符?

你可能会比使用URLEncoder来编码URL更糟糕:

String url = "http://172.0.0.1:80/foo/bar/baz.txt?black=white"; String filename = URLEncoder.encode(url,"UTF-8"); File file = new File(filename);

文件名将成为合法的win32名称

http%3A%2F%2F172.0.0.1%3A80%2Ffoo%2Fbar%2Fbaz.txt%3Fblack%3Dwhite

这是一个可逆的操作:

String original = URLDecoder.decode(filename,"UTF-8");

java.io.File类接受一个URI&| filename作为构造函数,但包含toURI()和toURL()方法以及getName()和getPath() 。 我认为这将是一个有效的转换吗?

但有没有可能编码url到文件名呢? 我的意思是,能有100%有效的解决方案吗? 我认为将网址转换为文件名通常是错误的想法,因为在URL和文件名上设置了不同的限制:

最大文件名长度(NTFS文件系统,Unicode,使用UTF-16编码) – 255

最大URL长度(使用UTF-8编码?) – 2000个字符

如果你的意思是转换一个URL编码为非编码器,你可以使用:

URLDecoder

HTML表单解码的实用工具类。 该类包含用于从application / x-www-form-urlencoded MIME格式解码String的静态方法

看看这是你需要的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐