gpt4 book ai didi

java - 如何使用 Java 替换目录中的多个 HTML 标题?

转载 作者:行者123 更新时间:2023-11-28 01:44:36 27 4
gpt4 key购买 nike

我正在创建一个 Java 应用程序来替换 HTML 文件或为其添加标题。我有一个 HTML 文件文件夹,我想为其更改标题,但我不想手动执行每个 HTML 文件。我想阅读 HTML,找到标题标签(即 <title>Some Title Here</title> ),并在文件夹中的每个 HTML 文件中将其替换为新标题(即 <title>Some New Title Here</title> )。

这可以使用 java 完成吗?以及如何?

不断收到 IO 异常

for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
File file = new File(listOfFiles[i].getName());
BufferedReader in = new BufferedReader(new FileReader(file));
String line = in.readLine();
while (line != null) {
if (line.contains(type)) {
line = line.replaceAll(
"(<title>[A-Za-z0-9\\s]+</title>)",
"<title>New title</title>");
}

lines.add(line);
line = in.readLine();
}
in.close();

PrintWriter out = new PrintWriter(listOfFiles[i]);
for (String l : lines)
out.println(l);
out.close();

System.out.println("File " + listOfFiles[i].getName());
} else if (listOfF`enter code here`iles[i].isDirectory()) {
System.out.println("Directory " + listOfFiles[i].getName());
}

最佳答案

你可以读取每个文件的内容,并使用正则表达式来替换标题,如下所示:

package replacetitle;

import java.io.*;
import java.util.*;

public class ReplaceTitle {
public static void main(String[] args) {
try {
File file = new File("c:\\demo.html");
replaceSelected(file, "<title>");
} catch(IOException ex) {
System.out.println(ex.toString());
}
}

public static void replaceSelected(File file, String type) throws IOException {
// we need to store all the lines
List<String> lines = new ArrayList<String>();

// first, read the file and store the changes
BufferedReader in = new BufferedReader(new FileReader(file));
String line = in.readLine();
while (line != null) {
if(line.contains(type)) {
line = line.replaceAll("(<title>[A-Za-z0-9\\s]+</title>)","<title>New title</title>");
}

lines.add(line);
line = in.readLine();
}
in.close();

// now, write the file again with the changes
PrintWriter out = new PrintWriter(file);
for (String l : lines)
out.println(l);
out.close();
}
}

然后保存文件。

希望对您有所帮助。

基于 this问题。

关于java - 如何使用 Java 替换目录中的多个 HTML 标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23665665/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com