簡體   English   中英

為什么包含最終點的目錄名稱被視為目錄,即使在Java中使用File對象不存在?

[英]Why is directory name which contains dot(s) in the end is treated as a directory even if doesn't exists using File object in Java?

我有一個包含多個文件和目錄的目錄。 我正在編寫一個小型java程序,它顯示作為參數提供的目錄中的文件。

我面臨的問題是當我在目錄名后附加點后,即使目錄不存在,它也會被視為現有的。 為了進一步說明,假設我有一個名為“abc”的目錄。 當我輸入“abc”時,它工作正常。 但是當我輸入目錄名稱為“abc ...”時,即使這樣,目錄也會被視為存在。 我想避免它。 我正在使用創建一個FIle對象

File directory = new File( fileName );
if ( directory.exists() ) {
     // do something
}

有什么建議我可以避免嗎?

這與Java無關,它是Windows的東西:從文件和文件夾名稱中刪除尾隨點。 即使是C / C ++程序也無法做到

要解決此問題,請嘗試使用前綴\\\\?\\

File dir = new File( "\\\\?\\" + path );

但這會禁用很多其他東西,比如相對路徑和斜線轉換。

相關答案:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM