私たちのアプリケーションでは、登録時に電子メールを送信しています。我々は上記/usr/local/email.htmlclasspathの下に保管されているファイルを参照する方法は?
StringWriter writer = new StringWriter();
IOUtils.copy(new FileInputStream(new File("/usr/local/email.html")),writer);
message.setContent(writer.toString(), "text/html");
Transport.send(message);
の下に保存された電子メールテンプレートを持っている。このため
が正常に動作しています。私たちは、このパス(/usr/local/email.html)をハードコーディングする必要はありません
は、私がどのように私はそれを読むことができ、クラスパスの下でそれを維持した場合、クラスパス
の下で維持したいですか?それは中にいた場合、あなたははgetClass()を使用している場合は、上記のコードでは
StringWriter writer = new StringWriter();
ClassLoader loader = Thread.currentThread().getContextClassLoader();
InputStream is = loader.getResourceAsStream("email.html");
IOUtils.copy(is,writer);
message.setContent(writer.toString(), "text/html");
Transport.send(message);
が、私は
IOUtils.copy(is,writer);
クラスパスのルートレベルにありますか? – vikingsteve
ドキュメントを参照することができます:http://stackoverflow.com/documentation/java/3720/the-classpath/14224/load-a-resource-from-the-classpath#t=201705181137403731917およびhttp://stackoverflow.com/documentation/java/2433/resources-on-classpath/26286/find-and-reading-resources-a-classloader#t = 201705181137022009462 – GPI