获取存储在WEB-INF中的文件的相对路径?

时间:2018-11-12 07:34:10

标签: java filepath relative-path absolute-path web-inf

我有点像是学习Java的初学者。

我在查找路径文件时遇到问题

xlWorkBook.SaveAs(Module.Text + ".xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);

我的一种方法:

readPublicKeyFromFile("C:\Users\myname\workspace\MyProject\WebContent\WEB-INF\Config\My_Public.key");

文件public byte[] encryptData(String data) throws IOException { byte[] dataToEncrypt = data.getBytes(); byte[] encryptedData = null; try { PublicKey pubKey = readPublicKeyFromFile("C:\Users\myname\workspace\MyProject\WebContent\WEB-INF\Config\My_Public.key"); Cipher cipher = Cipher.getInstance("RSA"); cipher.init(Cipher.ENCRYPT_MODE, pubKey); encryptedData = cipher.doFinal(dataToEncrypt); System.out.println("Encrypted Data: " + encryptedData); } catch (IOException | NoSuchAlgorithmException | InvalidKeyException | IllegalBlockSizeException | BadPaddingException | NoSuchPaddingException e) { e.printStackTrace(); } System.out.println("--ENCRYPTION COMPLETED--"); return encryptedData; } 存储在计算机系统和Eclipse Project层次结构中的My_Public.key中,如下所示:

C:\Users\myname\workspace\MyProject\WebContent\WEB-INF\Config\My_Public.key

如果我使用相对路径> MyProject > WebContent > WEB-INF > Config > My_Public.key > META-INF ,它工作正常。 但是我不想使用相对路径"C:/Users/myname/workspace/MyProject/WebContent/WEB-INF/Config/My_Public.key,因为当我在线上载Java Web应用程序时,该路径将不起作用。

我尝试使用以下路径:

C:/Users/myname/...

但是它给了我这个错误:

  

java.io.FileNotFoundException:WebContent \ WEB-INF \ Config \ My_Public.key   (系统找不到指定的路径)

如何从文件中读取

readPublicKeyFromFile(getServletContext().getRealPath("/WebContent/WEB-INF/Config/My_Public.key"));

1 个答案:

答案 0 :(得分:0)

使用以下内容

readPublicKeyFromFile(getServletContext().getRealPath("/WEB-INF/Config/My_Public.key"));