java - 标准库是 Java 加载/读取、编辑/修改和保存 html 文件而无需重新格式化的最佳选择吗?

标签 java html jsoup

我想加载/读取和编辑/修改并保存位于我的硬盘上的 html 文件。我尝试了 JSOUP,但它不断重新格式化 html 文件。我想避免重新格式化。

我想在 <script> 之后注入(inject)一些 JavaScript和之前 var deviceReady = false;在 html 文件中。

我需要解析该文件吗?

我应该使用默认的 Java 吗? (BufferedReader、FileReader、扫描仪)

<!DOCTYPE html>
<html lang="en">
<head>
<meta name='viewport' content='initial-scale = 1, minimum-scale = 1, maximum-scale = 1'/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="x-ua-compatible" content="IE=10">
<title>LX-XXX-KU</title>
<style type="text/css">#initialLoading{background:url(assets/htmlimages/loader.gif) no-repeat center 
center;background-color:#ffffff;position:absolute;margin:auto;top:0;left:0;right:0;bottom:0;z- 
index:10010;}</style>

"

<script>

var deviceReady = false;
var initCalled = false ;
var initialized = false;

function onBodyLoad()
{
 if(typeof window.device === 'undefined')
{
    document.addEventListener("deviceready", onDeviceReady, false);
}
else
 {
    onDeviceReady();
 }
}

我想在 <script> 之后添加 Javasacript和之前 var deviceReady = false;

`//adds numbers to TOC
window.addEventListener( 'moduleReadyEvent', function ( e )
{
var myText = document.getElementsByClassName('tocText');

for ( var i = 0; i < myText.length; i++ )
{
var getText = myText[ i ].childNodes;
var str = ( i + 1 ) + ' ' + getText[ 0 ].innerHTML;
getText[ 0 ].innerHTML = str;
}
});`

最佳答案

这可以像这样完成:

File f = ...;
String contents = new String(Files.readAllBytes(f));
int idx = contents.indexOf(insertBeforeStr);
contents = contents.substring(0, idx) + contentToBeAdded + contents.substring(idx + 1);

// write contents back to the disk.

关于java - 标准库是 Java 加载/读取、编辑/修改和保存 html 文件而无需重新格式化的最佳选择吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65694289/

相关文章:

java - 从外部 java 文件创建 Java 对象

Javascript 函数不进行永久更改

java - Jsoup:使用每次连接都会更改的发布 key 登录站点?

javascript - 使用淡入和淡出效果在图像上显示 HTML 元素

java - Jsoup 在某些网站上失败

android - "Android java.lang.NoClassDefFoundError: org.jsoup.Jsoup"将jar添加到/libs不起作用?

java - 如何使用Java分割带有特殊字符的字符串

Java设计模式让sdk支持多种认证方案

java - 如何从 Java 中的文件执行多个存储过程查询?

html - 为什么 100vh 不适用于 p 元素?