2016-08-01 55 views
0

我做了一個簡單的Java Web應用程序,它運行在Tomcat上以探索天藍色的環境。Azure網絡應用程序寫入和讀取文件

我可以讀取文件從Web應用程序(通過FTP部署到Web應用程序的根),由HOME環境變量表示的路徑(蔚藍自己的環境變量,解析爲D:\home):

String home = env.getProperty("HOME"); 

FileInputStream fis; 
try { 
    fis = new FileInputStream(home + "/" + "input.txt"); 

    //... 

    fis.close(); 
} catch (IOException e) { 
    //... 
} 

但我無法將文件寫入相同路徑:

String home = env.getProperty("HOME"); 
File file = new File(home + "/output.txt"); 

try { 
    FileOutputStream fos = new FileOutputStream(file, true); 

    //... 

    fos.flush(); 
    fos.close(); 
} catch (IOException e) { //ACCESS DENIED 
    return "ERROR :" + e.getMessage(); 
} 

上面的代碼失敗,導致訪問被拒絕錯誤。

我可以在Azure中將持久性文件寫入某個路徑,還是我需要一個雲本地存儲器?

+0

我不建議將文件保存到Azure上的本地存儲;我的低估是他們可能會將您的應用程序移動到另一個實例,並且他們只會包含您在部署應用程序時上傳的原始包。 –

+1

@MokhtarAshour - 除非您完全刪除,否則Azure Web應用程序提供*持久*存儲,以保留您的應用程序。這與虛擬機中的臨時磁盤不同。 –

+0

感謝您對%HOME%/ site下寫的 –

回答

3

您不能直接在%HOME%下創建文件,但可以創建目錄。在那裏,你可以創建文件。它只是它根本不允許的文件。

+0

的解釋,謝謝。 – Reek

相關問題