Java:这个路径用class.getClassLoader().getResource()该怎么写呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java:这个路径用class.getClassLoader().getResource()该怎么写呢?相关的知识,希望对你有一定的参考价值。

URL url = Test.class.getResource("./second/demo.txt");
这个路径用class.getClassLoader().getResource()该怎么写呢?

getResource的路径以“/”开头时,定位到classpath路径下,
而getClassLoader().getResource()的路径不以"/"开头时,才定位到classpath路径下

那这个相对路径用getClassLoader().getResource()该怎么写呢

参考技术A InputStream in= Test.class.getResourceAsStream("./second/demo.txt");

直接得到输入流了追问

也就是说class.getClassLoader().getResource()只能从classpath开始查找文件,而不能想class.getResource那样使用相对路径吗

追答

都可以呀。

追问

大哥你举个例子呗,使用class.getClassLoader().getResource()的相对路径获取资源

本回答被提问者和网友采纳

怎么用java获取登陆百度后的网页?

能不能用HttyURLConnection来操作,或者说怎么使用setRequestProperty?特别是Cookie的问题该怎么解决...或者借用浏览器的Cookie?

URL url = new URL("http://www.baidu.com/");HttpURLConnection huc = (HttpURLConnection) url.openConnection();然后关键是设置setRequestProperty
这个可以借用浏览器,像IE、chrome、firefox都可以的
主要是理解和百度端的请求和回复....模拟浏览器的话,每次浏览器去获取一个url的时候,就会有一个Request头,这个头就会带有浏览器信息啊cookie啊等等比如说用chrome,可以用F12进入控制台,然后看下面的NetWork栏
比如进入百度的时候你点击第一个就会看到你浏览器和百度服务器间的请求文件了
你如果复制的话,就用setRequestProperty("Accept", "text/html,application/.....")这样一项一项去设置httpurlconnection的属性
cookie也是一样的
这样,设置完以后,在connect方法连接百度,返回的时候就是登陆以后的页面的,也就模拟了你的浏览器的登陆。如果你的浏览器是记住登陆状态的话,那复制下来的cookie也是有效的,你也能一样用java获取页面了其实用firefox、IE也是一样的。其实cookie也是本地保存的,你可以写个java从本地得到cookie然后进行访问
这个和mfc的webbrowser浏览差不多,那个会自动去模拟IE,使用IE的cookie等等。追问

好像可行?等等去试试

追答

恩,你去试试,不懂可以追问,

参考技术A 不懂,不明觉厉

以上是关于Java:这个路径用class.getClassLoader().getResource()该怎么写呢?的主要内容,如果未能解决你的问题,请参考以下文章

java如何判图片的名字在这个路径下是不是存在

请问用java如何获取下载文件的文件名?

Java:使用getClassLoader.getResource时只能用绝对路径从classpath开始找文件吗?

java如何获得linux下web路径

怎样用java命令来运行带有绝对路径的java文件

这段程序怎么写 就是Java编程中想编个图片出来,这个图片在桌面Administrat or中的字