工具 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>");