有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java的html问题。木卫一。在浏览器上打印多个空格时使用PrintWriter

我有一个文件,比如说测试。txt。文件中有一个名称列表作为内容。例:样品的含量应为“Sachin Tendulkar”。注意名字和姓氏之间有四个空格。现在我有了servlet,它的职责是读取文本文件并在浏览器上打印文件中的名称。我已经为它编写了下面的servlet代码

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
{
    response.setContentType("text/html");

    try 
    {
        FileReader reader = new FileReader("E:/test.txt");
        BufferedReader bufferedReader = new BufferedReader(reader);
        PrintWriter pw = response.getWriter();

        String line = null;
        while( (line = bufferedReader.readLine()) !=null)
        {
            pw.write(line);
        }
        pw.close();


    } 
    catch (Exception e) 
    {
        e.printStackTrace();
    }
}

浏览器上的结果: 萨钦腱卡

请注意,在结果中,Sachin和Tendulkar之间的其余3个空格丢失。我需要所有的四个空间。事实上,在我们的项目中,我们有一个报告特性,servlet读取上面提到的文本文件并在web浏览器上打印。但每当文件中有多个空格时,printwriter就会删除多个空格并替换为单个空格

请尝试上面的例子,并为我提供一个有效的解决方案


共 (2) 个答案

  1. # 1 楼答案

    使用不间断的空格 而不是空格

  2. # 2 楼答案

    这是HTML的一个功能,它将删除连续的空格,您需要在containing DIV下应用css属性white-space:pre;,以在视图中显示空格

    例如:

    <div>A    B</div>
    

    将在浏览器上生成输出,看起来像A B

    现在让我们应用样式

    <div style="white-space:pre">A    B</div>
    

    这将按预期显示在浏览器上