Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java将html代码输出到文件_Java_Html_Printing - Fatal编程技术网

java将html代码输出到文件

java将html代码输出到文件,java,html,printing,Java,Html,Printing,我有一段html代码,应该以.html文件的形式输出,用java编写。预先编写的html代码是页面的标题和表,我需要生成一些数据,并将其输出到相同的.html文件中。有没有比逐行打印html代码更简单的方法?谢谢您可以查看一些用于解析HTML代码的Java库。快速的谷歌搜索会找到一些。读入HTML,然后根据需要使用他们的查询操作DOM,然后将其吐出。 e、 g.尝试使用模板引擎,例如。两者都可以由web框架之外的独立应用程序使用。您前期会损失时间,但从长远来看,这将节省您的时间。JSP Java

我有一段html代码,应该以.html文件的形式输出,用java编写。预先编写的html代码是页面的标题和表,我需要生成一些数据,并将其输出到相同的.html文件中。有没有比逐行打印html代码更简单的方法?谢谢

您可以查看一些用于解析HTML代码的Java库。快速的谷歌搜索会找到一些。读入HTML,然后根据需要使用他们的查询操作DOM,然后将其吐出。
e、 g.

尝试使用模板引擎,例如。两者都可以由web框架之外的独立应用程序使用。您前期会损失时间,但从长远来看,这将节省您的时间。

JSP Java服务器页面允许您编写HTML文件,其中可以轻松嵌入一些Java代码。比如说

<html><head><title>Hi!</title></head><body>
<% some java code here that outputs some stuff %>
</body></html>

同样,我也不确定你所说的那部分是什么意思。

HTML只是一种标记文本的方法,所以要编写HTML文件,只需将HTML作为文本写入扩展名为.HTML的文件中

有很多教程可以从文件中读写,以及从目录中获取文件列表。谷歌‘java读文件’、‘java写文件’、‘java列表目录’——这基本上就是你所需要的一切。重要的是使用BufferedReader/BufferedWriter将文本拉入并推送到文件中,并认识到将HTML写入文件并不涉及任何特定的代码科学

我重申,;HTML只不过是带有标记的文本

下面是一个非常粗糙的示例,它将两个文件输出到一个文件中,并将它们包装在一个标记中


要构建一个简单的HTML文本文件,您不必逐行读取输入文件

  File theFile = new File("file.html");
  byte[] content = new byte[(int) theFile.length()];
您可以使用完全作为字节数组读取文件:

  // Read file function:
  RandomAccessFile file = null;
  try {
    file = new RandomAccessFile(theFile, "r");
    file.readFully(content);
  } finally {
    if(file != null) {
      file.close();
    }
  }
对文本内容进行修改:

  String text = new String(content);
  text = text.replace("<!-- placeholder -->", "generated data");
  content = text.getBytes();

现在html的块是什么形式?它在档案里吗?如果是这样,您可以打开文件并将其复制到stdout。看看你提到的输出将被保存回同一个html文件…这是否意味着你有另一个源来生成供你使用的基本html文件?html块实际上是输出html文件的头,是的,文件的其余部分是从另一个源文件纯文本生成的。我需要做的是将一个文件目录转换成html,每个文件都有相同的头。这就是为什么我想知道如何将一堆html代码打印到一个文件中。我是否误解了OP?因此,您有一些预先编写的HTML代码存储在文件、字符串或其他地方。将其读入HTML解析库。然后按照规定生成一些数据。根据需要注入数据。使用库输出结果。是的,你的第二个建议就是我的意思,除了HTML代码硬编码到程序中。我需要做的是将硬编码的HTML输出到标题中,然后根据命令行输入生成页面的其余部分。我写的实际上是一个javas程序,很抱歉混淆了。当你说它是硬编码到程序中的时候,我假设它存储在字符串或其他东西中。所以你就不能这样做:newFileOutput.printlnheader;然后继续打印页面的其余部分?这就是我目前正在做的,但是它自己打印每一行真的很慢。。。只是想知道是否有更快的方法
  File theFile = new File("file.html");
  byte[] content = new byte[(int) theFile.length()];
  // Read file function:
  RandomAccessFile file = null;
  try {
    file = new RandomAccessFile(theFile, "r");
    file.readFully(content);
  } finally {
    if(file != null) {
      file.close();
    }
  }
  String text = new String(content);
  text = text.replace("<!-- placeholder -->", "generated data");
  content = text.getBytes();
  // Write file content:
  RandomAccessFile file = null;
  try {
    file = new RandomAccessFile(theFile, "rw");
    file.write(content);
  } finally {
    if(file != null) {
      file.close();
    }
  }