我将从数据库中收集所有数据并将它们放入一个集合中。我想将该集合中的所有数据以正确对齐的格式放入我的 javamail 正文中,如下所示。我应该如何将列表数据放在正文内容中:
EmployeeName:Ranjeeth.
Login Time:09:30.
Logout Time:18:30.
通过使用转义字符如何写入字符串?
我将从数据库中收集所有数据并将它们放入一个集合中。我想将该集合中的所有数据以正确对齐的格式放入我的 javamail 正文中,如下所示。我应该如何将列表数据放在正文内容中:
EmployeeName:Ranjeeth.
Login Time:09:30.
Logout Time:18:30.
通过使用转义字符如何写入字符串?
执行此操作的最常见方法之一是使用数据占位符创建电子邮件模板。在运行时在模板中填写数据,然后使用 java 邮件正文中的完整文本。
逐步:
在项目中创建一个模板文件,比如 mailBody.txt。内容可能是这样的:
员工姓名:##EMP_NAME##。
登录时间:##LOGIN_TIME##。
注销时间:##LOGOUT_TIME##。
在运行时以字符串形式读取此文件内容,以便:
从 inpitstream 读取内容
InputStream is = new FileInputStream("test"); // or your input stream
byte[] b = new byte[is.available()];
is.read(b);
String text = new String(b);
//System.out.println(text);
`String s = <content of the file>`
3.准备数据库中的数据,然后替换字符串内容占位符,如:
s = s.replace("##EMP_NAME##", <emp name value from database>)
s = s.replace("##LOGIN_TIME##", <login time value from database>)
s = s.replace("##LOGOUT_TIME##", <logout value from database>)
您可以在模板中添加任何类型的格式、制表符、空格等,您的程序将无缝更改电子邮件文本。
编辑:一次又一次地重复某个部分:如果您有简单的数据要重复,只需考虑像这样内联创建它:
StringBuilder temp=new StringBuilder("");
for(loop to repeat the content){
temp.append(<Emp Name value from database>).append("\n\t\t")
.append(<login time value from database>).append("\n\t\t")
.append(<logout time value from database>).append("\n\t\t");
}
制作模板,如:
你好,
以下是用户的详细信息:
$#EMP_DETAILS#$
谢谢你的名字
将模板读入字符串变量
String s = <content of the file>;
然后
s.replace("$#EMP_DETAILS#$", temp.toString());
你应该准备好了。