2015-10-05 62 views

回答

1

試試這個

File file = new File("C:\\pathToYourFile\\yourFile.txt") //for example 
file.setReadOnly(); 

,或者如果你只使用

File file = new File("C:\\pathToDirectory"); 

可以鎖定整個文件夾設置爲只讀,如果當前用戶有權修改該文件夾中訪問

+0

謝謝你的回答,但是我的老師對我說:「java不能調用操作系統」,我們可以在java中通過關鍵字「Native」來解釋它。這意味着我們可以使用C語言編寫一個方法,因爲C語言可以與操作系統交互。 (例如:窗口,....)。我試圖學習如何做到這一點,如果你有意見,讓我們來描述它:) –

1

您可以使用readOnly屬性創建像這樣的新文件對象:

File readOnlyFile= new File("C:/test.txt"); 
readOnlyFile.setReadOnly(); 
3

在我看來,檢查文件是否已經創建或先存在然後設置只讀標誌是很好的。

File file = new File("C:/path/file.txt"); 
    if (file.exists()) { 
     file.setReadOnly(); 
    } else { 
     System.out.println("File does not exists."); 
    } 
+0

我試圖解決你的問題我試圖做你的解決方案,但它不能設置只讀該文件。 –

1

那麼他們是兩種方式來做到這一點。

第一個是:myFile.setReadable(false);。這使得所有應用程序都無法讀取該文件。另一種方式是myFile.setReadOnly();

請注意,爲了讓您從應用程序中讀取文件,您需要清除ready only標誌。要清除它使用myFile.setReadable(true);

另一件需要注意的是,設置此標誌只會阻止某些應用程序讀取它,很多編輯器允許您清除標誌。這不會阻止用戶刪除或移動文件。

相關問題