0

我将从数据库中收集所有数据并将它们放入一个集合中。我想将该集合中的所有数据以正确对齐的格式放入我的 javamail 正文中,如下所示。我应该如何将列表数据放在正文内容中:

  EmployeeName:Ranjeeth.
  Login Time:09:30.
  Logout Time:18:30.

通过使用转义字符如何写入字符串?

4

1 回答 1

1

执行此操作的最常见方法之一是使用数据占位符创建电子邮件模板。在运行时在模板中填写数据,然后使用 java 邮件正文中的完整文本。

逐步:

  1. 在项目中创建一个模板文件,比如 mailBody.txt。内容可能是这样的:

    员工姓名:##EMP_NAME##。

    登录时间:##LOGIN_TIME##。

    注销时间:##LOGOUT_TIME##。

  2. 在运行时以字符串形式读取此文件内容,以便:

    请参阅如何从 Java 中的类路径中真正读取文本文件

从 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>)

  1. 将 String 用于电子邮件正文内容。

您可以在模板中添加任何类型的格式、制表符、空格等,您的程序将无缝更改电子邮件文本。


编辑:一次又一次地重复某个部分:如果您有简单的数据要重复,只需考虑像这样内联创建它:

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());

你应该准备好了。

于 2013-10-08T09:49:01.800 回答