簡體   English   中英

如何從Java應用程序訪問映射的網絡驅動器?

[英]How to access mapped network drive from java application?

我有一個網絡驅動器映射為:

凈使用h:\\ ip \\ servername

我有一個普通的Java應用程序,它將從該驅動器讀取txt文件。

碼:

File file = new File("H:\\MyFile.txt");

try {
    byte[] bytes = Files.readAllBytes(Paths.get(file.getAbsolutePath()));
} catch (IOException ex) {
    Logger.getLogger(JavaApplication25.class.getName()).log(Level.SEVERE, null, ex);
}

當我從計算機(Windows 7或具有Windows Vista的另一台計算機)運行此程序時,該程序運行沒有任何問題。

但是,當我從裝有Windows 10的計算機上運行此程序時,出現以下錯誤:

java.nio.file.NoSuchFileException: H:\MyFile.txt

但是,如果我使用以下代碼運行該應用程序,它將起作用:

File file = new File("\\ip\servername\MyFile.txt");

try {
    byte[] bytes = Files.readAllBytes(Paths.get(file.getAbsolutePath()));
} catch (IOException ex) {
    Logger.getLogger(JavaApplication25.class.getName()).log(Level.SEVERE, null, ex);
}

如何使用映射的驅動器號而不使用完整地址?

有同樣的問題。 通過編輯Windows注冊表解決

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"EnableLinkedConnections"=dword:00000001

如果有效,則意味着您的IT部門。 應該管理更好的網絡策略。

使用\\\\ ip \\ servername \\ file.txt起作用

暫無
暫無

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

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