?
我們?cè)趯懗绦虻臅r(shí)候,有時(shí)候會(huì)發(fā)現(xiàn)代碼不能正常運(yùn)行,出現(xiàn)提示異常的問題,這就說明我們的代碼沒有執(zhí)行完,也就是沒有 resource,其實(shí)遇到這種情況,我們只需要把代碼重新執(zhí)行一遍即可。 在 java中是可以實(shí)現(xiàn) resource的獲取和使用的, java提供了兩個(gè)方法: 第一個(gè)方法是 java. util. exec (): 第一種方法也很簡單,直接執(zhí)行 resource. exec ()即可,但是有時(shí)候我們會(huì)發(fā)現(xiàn)在執(zhí)行完這一條語句之后還是無法訪問 resource對(duì)象。 這個(gè)時(shí)候我們就要用到第二種方法了。 第二種方法也很簡單,首先我們需要找到要執(zhí)行 resource對(duì)象的路徑。這就需要我們用到一個(gè)工具, Java文件路徑查看器(jdk1.5版本)。然后在命令行輸入: 然后就可以看到 resource對(duì)象的路徑了?,F(xiàn)在我們把這個(gè)文件路徑粘貼到命令行中。 如果你已經(jīng)在命令行中輸入了 resource. exec (),那么你就會(huì)看到你的程序出現(xiàn)如下界面:
-
1.在"工具-路徑查看器"中輸入:
JVM可以把每個(gè)對(duì)象都存放在一個(gè)路徑下,當(dāng)你獲取到一個(gè)對(duì)象時(shí),這個(gè)對(duì)象也就被命名了,然后就可以通過 resource. exec ()來獲取到該對(duì)象的路徑了。 但是需要注意的是,如果你在 jdk1.5中想要獲取 resource的路徑,需要把這個(gè)方法改為" java. util. exec ()"。這個(gè)方法中的 java. util. exec ()并不是我們平時(shí)用到的方法,而是一個(gè)函數(shù),在 jdk1.5中使用" java. util. exec ()"這個(gè)函數(shù)是不會(huì)報(bào)錯(cuò)的。它會(huì)使用 resource對(duì)象,然后通過 resource. exec ()來獲取到該對(duì)象的路徑。 這樣做有兩個(gè)好處: 1.避免了直接使用 resource對(duì)象,會(huì)導(dǎo)致程序報(bào)錯(cuò)的情況。 2.在用 jdk1.5重新編譯過的程序中,我們可以直接訪問 resource對(duì)象了。 通過上面兩種方法的對(duì)比,我們可以看到,第二種方法是要比第一種方法簡單的多了。不過我們?cè)诰帉懘a時(shí)也不要忽略了一些重要的東西,例如類之間的依賴關(guān)系等。
-
2.在" Java文件路徑查看器"中找到你的 resource對(duì)象,然后把它粘貼到命令行中
(3)打開運(yùn)行命令行,輸入 resource. exec (),如果你的程序還沒有執(zhí)行完,那么我們?cè)谶\(yùn)行命令行中輸入 resource. exec (),它就會(huì)去執(zhí)行 resource對(duì)象的內(nèi)容。 (4)我們也可以用其他的 java方法來獲取 resource對(duì)象,比如上面的例子,我們可以把 resource對(duì)象粘貼到 jdk1.5版本中,然后在命令行中輸入 jdk1.5版本的 install命令。 (5)現(xiàn)在我們就可以把 resource對(duì)象粘貼到我們的程序中了。 現(xiàn)在你應(yīng)該明白了吧!其實(shí)很多時(shí)候我們只是需要一個(gè) resource對(duì)象,但是很少有人去專門為這個(gè)對(duì)象提供一個(gè)實(shí)現(xiàn)類,而 java. util. exec ()在程序運(yùn)行時(shí)會(huì)產(chǎn)生一些問題,所以我們需要為這些問題提供一個(gè)解決方案。 當(dāng)然這些解決方案是不能直接解決所有問題的,但是它可以減少很多不必要的錯(cuò)誤和時(shí)間。 其實(shí)還有很多其他的方法可以幫助我們獲取 resource對(duì)象,比如 python、 numpy、 matplotlib等都可以幫助我們獲取 resource對(duì)象。
-
3.執(zhí)行完命令之后,會(huì)彈出一個(gè)對(duì)話框
最后我們只需要執(zhí)行一遍就可以獲取到 resource對(duì)象的路徑了,但是這種方法有個(gè)問題,那就是如果我們想要獲取所有的 resource對(duì)象,那么我們就要去訪問這些 resource對(duì)象所在的目錄。 比如下面這段代碼: 首先我們要先在程序中定義一個(gè)“root”文件夾,然后在這個(gè)目錄下創(chuàng)建一個(gè)“root”對(duì)象,并設(shè)置為默認(rèn)的路徑。最后在這個(gè)路徑下創(chuàng)建一個(gè)名為“root”的子進(jìn)程,然后將它和“root”對(duì)象一起加入到程序中,并使用 resource. exec ()來獲取 resource對(duì)象的路徑。我們?cè)趫?zhí)行代碼之前首先需要在路徑下創(chuàng)建一個(gè)名為“root”的文件夾。 然后在程序中輸入如下代碼: 當(dāng)然了,還有一種更簡單的方法就是使用 java. util. exec (),首先我們?cè)诔绦蛑卸x一個(gè)名為“root”的文件夾,然后再定義一個(gè)名為“public class Public String class Object String String (resource. exec ()。 public class Object String)”的類。最后在程序中使用 public class Object String String ()即可。
-
4.如果想要知道 resource的具體路徑,可以輸入命令:
這就是我們的程序當(dāng)前的路徑。 現(xiàn)在我們可以開始使用 resource對(duì)象了,首先我們需要獲取一個(gè)對(duì)象,當(dāng)然這個(gè)對(duì)象也是一個(gè)字符串。 然后我們就可以使用上面的命令來獲取對(duì)象的路徑了,當(dāng)然如果你想要更精確的路徑,還可以在命令行中輸入: 就可以獲取到該路徑。 但是上面的方法可能會(huì)遇到一些問題,因?yàn)槲覀冃枰獜囊粋€(gè)字符串中獲取到 resource對(duì)象的具體路徑,這就需要在命令行中輸入字符串: 比如我要從"http://"字符串中獲取到 resource對(duì)象的路徑。那么我就可以使用上面的方法: 首先我們需要輸入"http://"字符串,然后回車即可: 但是這種方法也會(huì)有一些弊端,比如如果你在輸入一個(gè)字符串之后還沒有把它結(jié)束掉,那么你就會(huì)在文件最后一次執(zhí)行完代碼之后發(fā)現(xiàn)程序依然是無法運(yùn)行的。因?yàn)樵摲椒▓?zhí)行完之后還沒有結(jié)束。 我們可以使用 java. util. exec ()方法,但是這個(gè)方法有一個(gè)致命的缺陷,那就是它只能獲取一個(gè)字符串,但是如果你想要獲取更多的字符串,比如你想要獲取一行或者一段文本的話,那么你就必須要在上面輸入更多的字符串了。所以在使用這個(gè)方法時(shí)需要我們謹(jǐn)慎使用。
-
5.如果想要知道這個(gè)對(duì)象具體在什么地方,可以在"工具-路徑查看器"中找到該對(duì)象所在的位置。
從以上的步驟我們可以看出,如果想要使用 resource對(duì)象,你需要在命令行中輸入以下命令: resource. exec ()會(huì)返回一個(gè)帶有路徑的名為 resource的對(duì)象。 這個(gè)結(jié)果就是你想要的結(jié)果。當(dāng)然,你也可以通過 java. util. exec ()來使用 resource對(duì)象,不過它的缺點(diǎn)就是只能在一個(gè)路徑中使用。 從上面的代碼中我們可以看到,如果想要獲取 resource對(duì)象,你可以通過上面介紹的兩種方法來獲取。 如果想要了解更多關(guān)于 java中的 java. util. exec ()和 resource對(duì)象的知識(shí),請(qǐng)多多關(guān)注 Javaweb技術(shù)吧。
以下是幾種常用的?Java?獲取?resources?路徑的代碼:文章來源:http://www.zghlxwxcb.cn/news/detail-459763.html
1.?使用?ClassLoader.getResource()?方法獲取資源路徑:
```java
String?resourcePath?=?MyClass.class.getClassLoader().getResource("myResource.txt").getPath();
```
2.?使用?Class.getResource()?方法獲取資源路徑:
```java
String?resourcePath?=?MyClass.class.getResource("/myResource.txt").getPath();
```
3.?使用?Thread.currentThread().getContextClassLoader().getResource()?方法獲取資源路徑:
```java
String?resourcePath?=?Thread.currentThread().getContextClassLoader().getResource("myResource.txt").getPath();
```
注意:以上代碼中的?"myResource.txt"?是資源文件的名稱,可以根據(jù)實(shí)際情況進(jìn)行修改。另外,獲取到的資源路徑可能會(huì)包含一些特殊字符,需要進(jìn)行處理。文章來源地址http://www.zghlxwxcb.cn/news/detail-459763.html
到了這里,關(guān)于java獲取resources路徑的方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!