工具 1:Eclipse Java EE IDE for Web Developers. Version: Photon Release (4.8.0). Build id: 20180619-1200
这里涉及到 Apache Commons IO 的基本操作:
Java (二)基于Eclipse配置Commons IO的环境
Java (三)APACHE Commons IO 常规操作
Java (四)APACHE Commons IO 复制文件
初衷:最近在学习 servlet,常常需要在 servlet 中插入 HTML 代码块,手写速度很慢。于是思索着,不如借助其它开发工具(例如 HBuilderX),事先写好 HTML 代码,然后自己再写一个小工具,将 HTML 代码转换成自己期望的格式。
新建一个 Java Project,工程结构:
Main.java 文件的内容:
1 package com.mk;
2
3 import java.io.File;
4 import java.io.IOException;
5 import java.util.List;
6 import java.util.Scanner;
7
8 import org.apache.commons.io.FileUtils;
9
10 public class Main {
11
12 public static void main(String[] args) {
13 Scanner scanner = new Scanner(System.in);
14 try {
15 File file = null;
16 while (true) {
17 // 从控制台获取文件的路径
18 file = new File(scanner.nextLine());
19 // System.out.println(file.getAbsolutePath());
20 // 检查文件是否存在
21 if (file.exists()) {
22 // 前缀
23 String prefix = "writer.write(\"";
24 // 后缀
25 String suffix = "\");\n";
26 // 将读取的每一行存储在 List 中
27 List<String> lines = FileUtils.readLines(file, "UTF-8");
28 // 添加特定的字符串到每一行,并重新组合
29 StringBuilder newLines = new StringBuilder("");
30 for (String line : lines) {
31 newLines.append(prefix + line.replaceAll("\"", "\'") + suffix);
32 }
33 // 从控制台输出重新组合的字符串
34 System.out.print(newLines.toString());
35 // 将重新组成的字符串写入到指定的文件中
36 // FileUtils.write(new File("copy_" + file.getName()), newLines.toString(), "utf-8", false);
37 break; // 转换成功之后退出,否则继续
38 } else {
39 System.out.println("The file does not exist!");
40 }
41 }
42 } catch (IOException e) {
43 e.printStackTrace();
44 }
45 // 关闭 scanner
46 scanner.close();
47 }
48 }
index.html 文件的内容(这个文件是用于测试):
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8" />
5 <title>登录</title>
6 </head>
7 <body>
8 <form action="login" method="post">
9 <input type="text" name="username" value="" placeholder="用户名" />
10 <br />
11 <input type="password" name="password" value="" placeholder="密码" />
12 <br />
13 <input type="submit" value="登录" />
14 </form>
15 </body>
16 </html>
控制台输入:
index.html
控制台输出:
writer.write("<!DOCTYPE html>");
writer.write("<html>");
writer.write(" <head>");
writer.write(" <meta charset='utf-8' />");
writer.write(" <title>登录</title>");
writer.write(" </head>");
writer.write(" <body>");
writer.write(" <form action='login' method='post'>");
writer.write(" <input type='text' name='username' value='' placeholder='用户名' />");
writer.write(" <br />");
writer.write(" <input type='password' name='password' value='' placeholder='密码' />");
writer.write(" <br />");
writer.write(" <input type='submit' value='登录' />");
writer.write(" </form>");
writer.write(" </body>");
writer.write("</html>");