【问题标题】:How do I write exactly one page of text with java?我如何用java准确地写一页文本?
【发布时间】:2014-04-03 12:58:31
【问题描述】:

在我正在处理的项目中,我正在处理大量文本。 我编写的代码从两种不同的语言中获取文本,然后句子对齐所有文本,然后我将所有内容写入 HTML 文件。

这是示例输出:

<html>
    <head>
        <meta charset="utf-8"/>
    </head>
    <body>
    <table>
        <tr>
            <td>
                <p>
                    ALICE'S ADVENTURES IN WONDERLAND
                </p>
            </td>
            <td>
                <p>
                    Alice no País das Maravilhas
                </p>
             </td>
         </tr>
         <tr>
             <td>
                 <p>
                     Lewis Carroll
                 </p>
             </td>
             <td>
                 <p>
                     Lewis Carroll
                 </p>
             </td>
         </tr>

现在我想把它转换成电子书,但我必须将文本分成各自的页面,但我想确保语言仍然一致。有没有办法让我知道我何时写了一页文本,以便我可以切换并开始用另一种语言写文本。我一直在尝试以编程方式执行此操作,但我无法弄清楚。

以下是我用来制作 html 文件的代码:

public String makePage(ArrayList<ArrayList<String>> content)
{
    this.openHtml()
            .openHead()
            .closeHead()
            .openBody()
            .openTable();

    for(int i=0;i<content.get(0).size(); i++)
    {
        this.openTR()
                .openTD()
                .openP()
                .addContent(content.get(0).get(i))
                .closeP()
                .closeTD()
                .openTD()
                .openP()
                .addContent(content.get(1).get(i))
                .closeP()
                .closeTD()
                .closeTR();
    }
    this.closeTable()
            .closeBody()
            .closeHtml();

    return this.page;
}

以下是我用来编写文件的代码:

public void writeFile(String stringToWrite, String nameOfFile)
{
    this.bw = IOFactory.buildIOBufferedWriter(nameOfFile);
    try
    {
        this.bw.getBufferedWriter().write(stringToWrite);
        this.bw.getBufferedWriter().newLine();
    }
    catch (IOException e)
    {
        e.printStackTrace();
    }
    finally
    {
        try
        {
            this.bw.getBufferedWriter().flush();
            this.bw.getBufferedWriter().close();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
    }
}

【问题讨论】:

  • @ManuelSelva 我正在使用我正在生成的 html 并将所有内容放入一个 word 文件中。所以微软 word 中的一页。
  • 好的,请更新您的问题。
  • 适合页面的数量因页边距和字体大小等格式而有很大差异
  • @Starscream1984 我的意思是,如果我保持所有这些事情不变,我怎么知道何时更改语言。我可以在每写 10 个“tr”后简单地更改语言,但随后我会得到诸如葡萄牙语和英语混合的页面之类的东西。
  • 查看我的答案,了解随着故事的进展在每个页面上排列两种语言的方式

标签: java text file-io


【解决方案1】:

在以 ASCII 或 UTF8 编码的文本文件中不存在页面的概念。

如果您正在使用存在页面概念的输出格式(例如 word),则您必须了解此输出格式的内部才能知道何时编写了页面。正如@Starscream1984 在评论中所说,例如,这取决于诸如边距和字体大小之类的格式。

【讨论】:

    【解决方案2】:

    您可能最好将文本拆分为可以很好地布局为表格中的两列的段落。然后,您可以将其粘贴到 word 中,无论页面大小或格式如何,段落和扩展都将与整本书的翻译保持一致。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-02
      • 2012-08-14
      • 2015-10-23
      • 1970-01-01
      • 2021-05-22
      • 2020-06-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多