Java 讀取文件中的每一行,並為每一行插入特定的字符串


工具 1:Eclipse Java EE IDE for Web Developers. Version: Photon Release (4.8.0). Build id: 20180619-1200

 

這里涉及到 Apache Commons IO 的基本操作:

Java (一)下載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>");

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM