導航:首頁 > 操作系統 > java相對路徑linux

java相對路徑linux

發布時間:2022-09-05 20:25:07

1. linux下使用java讀取文件,路徑格式問題!

linux下文件路徑都是「/」開始的,可以通過changeWorkingDirectory方法來進行路徑的切換,舉例:
**
* 上傳文件
*
* @param fileName
* @param plainFilePath 文件路徑路徑
* @param filepath
* @return
* @throws Exception
*/
public static String fileUploadByFtp(String plainFilePath, String fileName, String filepath) throws Exception {
FileInputStream fis = null;
ByteArrayOutputStream bos = null;
FTPClient ftpClient = new FTPClient();
String bl = "false";
try {
fis = new FileInputStream(plainFilePath);
bos = new ByteArrayOutputStream(fis.available());
byte[] buffer = new byte[1024];
int count = 0;
while ((count = fis.read(buffer)) != -1) {
bos.write(buffer, 0, count);
}
bos.flush();
Log.info("加密上傳文件開始");
Log.info("連接遠程上傳伺服器"+CCFCCBUtil.CCFCCBHOSTNAME+":"+22);
ftpClient.connect(CCFCCBUtil.CCFCCBHOSTNAME, 22);
ftpClient.login(CCFCCBUtil.CCFCCBLOGINNAME, CCFCCBUtil.CCFCCBLOGINPASSWORD);
FTPFile[] fs;
fs = ftpClient.listFiles();
for (FTPFile ff : fs) {
if (ff.getName().equals(filepath)) {
bl="true";
ftpClient.changeWorkingDirectory("/"+filepath+"");
}
}
Log.info("檢查文件路徑是否存在:/"+filepath);
if("false".equals(bl)){
ViewUtil.dataSEErrorPerformedCommon( "查詢文件路徑不存在:"+"/"+filepath);
return bl;
}
ftpClient.setBufferSize(1024);
ftpClient.setControlEncoding("GBK");
// 設置文件類型(二進制)
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
ftpClient.storeFile(fileName, fis);
Log.info("上傳文件成功:"+fileName+"。文件保存路徑:"+"/"+filepath+"/");
return bl;
} catch (Exception e) {
throw e;
} finally {
if (fis != null) {
try {
fis.close();
} catch (Exception e) {
Log.info(e.getLocalizedMessage(), e);
}
}
if (bos != null) {
try {
bos.close();
} catch (Exception e) {
Log.info(e.getLocalizedMessage(), e);
}
}
}
}
備註:只需要修改上傳的伺服器地址、用戶名、密碼即可進行伺服器訪問上傳。根據實際需要修改即可。

2. linux的絕對路徑跟相對路徑怎麼解釋

絕對路徑;在Linux中,絕對路徑是從/(也被稱為根目錄)開始的,比如/usr、/etc/X11。如果一個路徑是從/開始的,它一定是絕對路徑,這樣就好理解了;[root@localhost ~]# pwd 註:判斷用戶當前所處的位置,也就是說他到底位於哪?/root 註:用戶當前位於/root;[root@localhost ~]# cd /usr/share/doc/ 註:我們以絕對路徑方式進入/usr/share/doc目錄下;[root@localhost doc]# pwd 註:判斷用戶當前所處的位置/usr/share/doc 註:用戶位於/usr/share/doc,看來已經達到我們的目的了;相對路徑;路徑是以 . 或 .. 開始的,.表示用戶當前操作所處的位置,而.. 表示上級目錄;在路徑中,.表示用戶當前所處的目錄,而..上級目錄,要把.和..當做目錄來看。[root@localhost ~]# pwd 註:通過pwd來判斷當前用戶所在的位置;/root 註:得出目錄處於/root目錄中;[root@localhost ~]# cd . 註:我們進入.
[root@localhost ~]# pwd 註:判斷當前用戶所處的位置;/root 註:得出在/root 目錄中 ;[root@localhost ~]# cd .. 註:我們切入/root的上級目錄[root@localhost /]# pwd 註:判斷當前用戶所處的位置。/ 註:用戶當前位於/(根目錄)中;關於這個linux系統的學習,我一直看劉遄老師的書籍《linux就該這么學》,感興趣的也可以去看看啊。

3. 什麼是java的相對路徑和絕對路徑阿 怎麼訪問相對路徑里的文件和絕對路徑里的文件

1、相對路徑-顧名思義,相對路徑就是相對於當前文件的路徑。網頁中一般表示路徑使用這個方法。
2、絕對路徑-絕對路徑就是你的主頁上的文件或目錄在硬碟上真正的路徑。絕對路徑就是你的主頁上的文件或目錄
"./":代表目前所在的目錄。
"../":代表上一層目錄。
以"/"開頭:代表根目錄。

4. linux的絕對路徑跟相對路徑分別是什麼意思

1、絕對路徑

從根目錄開始,依次將各級子目錄的名字組合起來,形成的路徑就稱為某個文件的絕對路徑。例如,根目錄(/)下有目錄usr,usr目錄下有子目錄bin,bin目錄下有文件chsh,則chsh文件的絕對路徑就是:/usr/bin/chsh

2、相對路徑

相對當前所在路徑的位置,例如當前所在的位置為/usr,也就是在根目錄的usr子目錄下,則chsh文件相對當前位置的路徑為:bin/chsh

5. linux 下java讀取配置文件

1. 如果是相對路徑無論windows還是linux都是一樣的。
2. 如果是絕對路徑,只需要看好配置文件所在linux的目錄,其他的操作和windows一樣(例如:linux【/usr/local/src/1.config】,windows【c:/1.config】)
3. 使用File就可以直接讀取了。

6. linux中如何得到java項目的相對路徑

相對路徑是相對某個位置來說的 看你當前在哪個位置 然後才能按這個位置寫相對路徑

7. java在linux下操作文件路徑怎麼寫

一般文件路徑在windows中用 \ 表示,但是在其他系統平台下比如linux中就不是 \ 所以java給我們提供了一個與平台無關的表示路徑的常量 File.separator在windows中則表示 \ 比如現在有一個文件在D:\java\src\myjava中, 如何用絕對路徑訪問呢?
現在建立一個目錄:
File fDir=new File(File.separator); //File.separator表示根目錄,比如現在就表示在D盤下。
String strFile="java"+File.separator+"src"+File.separator+"myjava"; //這個就是絕對路徑
File f=new File(fDir,strFile);

8. java 相對路徑問題。

在最前面加點的話就告訴file找的時候當前目錄找不到,就去相對的路徑去找,一般要相對路徑的話都是加點,兩個點點尋找的返回可能大些,但也值在項目目錄里找,直接/的話,這個貌似要在web項目里使用,直接在普通的項目里可能不行,你可以試試不每個file的absolutepath輸出一下看看都是什麼結果
幫你找了下別人寫的:
File類是用來構造文件或文件夾的類,在其構造函數中要求傳入一個String類型的參數,用於指示文件所在的路徑.以前一直使用絕對路徑作為參數,其實這里也可以使用相對路徑.使用絕對路徑不用說,很容易就能定位到文件,那麼使用了相對路徑jvm如何定位文件的呢?

按照jdk Doc上的說法」絕對路徑名是完整的路徑名,不需要任何其他信息就可以定位自身表示的文件。相反,相對路徑名必須使用來自其他路徑名的信息進行解釋。默認情況下,java.io 包中的類總是根據當前用戶目錄來分析相對路徑名。此目錄由系統屬性 user.dir 指定,通常是 Java 虛擬機的調用目錄.」

相對路徑顧名思義,相對於某個路徑,那麼究竟相對於什麼路徑我們必須弄明白.按照上面jdk文檔上講的這個路徑是」當前用戶目錄」也就是」java虛擬機的調用目錄」.更明白的說這個路徑其實是我們在哪裡調用jvm的路徑.舉個例子:

假設有一java源文件Example.java在d盤根目錄下,該文件不含package信息.我們進入命令行窗口,然後使用」d:」命令切換到d盤根目錄下,然後用」javac Example.java」來編譯此文件,編譯無錯後,會在d盤根目錄下自動生成」Example.class」文件.我們在調用」java Example」來運行該程序.此時我們已經啟動了一個jvm,這個jvm是在d盤根目錄下被啟動的,所以此jvm所載入的程序中File類的相對路徑也就是相對這個路徑的,即d盤根目錄:D:\.同時」 當前用戶目錄」也是D:\.在System.getProperty(「user.dir」);系統變數」user.dir」存放的也是這個值.

我們可以多做幾次試驗,把」Example.class」移動到不同路徑下,同時在那些路徑下,執行」java Example」命令啟動jvm,我們會發現這個」當前用戶目錄」是不斷變化的,它的路徑始終和我們在哪啟動jvm的路徑是一致的.

搞清了這些,我們可以使用相對路徑來創建文件,例如:

File file = new File(「a.txt」);

File.createNewFile();

假設jvm是在」D:\」下啟動的,那麼a.txt就會生成在D:\a.txt;

此外,這個參數還可以使用一些常用的路徑表示方法,例如」.」或」.\」代表當前目錄,這個目錄也就是jvm啟動路徑.所以如下代碼能得到當前目錄完整路徑:

File f = new File(「.」);

String absolutePath = f.getAbsolutePath();

System.out.println(absolutePath);//D:\

最後要說說在eclipse中的情況:

Eclipse中啟動jvm都是在項目根路徑上啟動的.比如有個項目名為blog,其完整路徑為:D:\work\IDE\workspace\blog.那麼這個路徑就是jvm的啟動路徑了.所以以上代碼如果在eclipse里運行,則輸出結果為」 D:\work\IDE\workspace\blog.」

Tomcat中的情況.

如果在tomcat中運行web應用,此時,如果我們在某個類中使用如下代碼:

File f = new File(「.」);

String absolutePath = f.getAbsolutePath();

System.out.println(absolutePath);

那麼輸出的將是tomcat下的bin目錄.我的機器就是」 D:\work\server\jakarta-tomcat-5.0.28\bin\.」,由此可以看出tomcat伺服器是在bin目錄下啟動jvm的.其實是在bin目錄下的」 catalina.bat」文件中啟動jvm的.

閱讀全文

與java相對路徑linux相關的資料

熱點內容
網上求職系統源碼 瀏覽:699
pdf數字不顯示 瀏覽:890
convertwordtopdf 瀏覽:253
程序編譯基本單位 瀏覽:23
python分析圖片角度 瀏覽:64
阿里雲伺服器能復制數據嗎 瀏覽:562
python拼音轉換文字 瀏覽:563
動畫遺傳演算法 瀏覽:63
php如何解析xml文件 瀏覽:702
如何改變appstore的語言 瀏覽:462
javahtmlxml 瀏覽:34
單片機啟動文件 瀏覽:811
橙app如何開啟聊天 瀏覽:899
訪問伺服器公網地址 瀏覽:666
pdf列印底色去掉 瀏覽:465
java快遞介面 瀏覽:397
哪個app可以教新爸爸 瀏覽:212
如何查看伺服器系統版本信息 瀏覽:525
成都市土地出讓金演算法 瀏覽:704
鋼筋加密標記 瀏覽:578