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

Java 读取文件中的每一行,并为每一行插入特定的字符串的更多相关文章

  1. IO流的练习5 —— 读取文件中的字符串,排序后写入另一文件中

    需求:已知s.txt文件中有这样的一个字符串:“hcexfgijkamdnoqrzstuvwybpl” 请编写程序读取数据内容,把数据排序后写入ss.txt中. 分析: A:读取文件中的数据 B:把数 ...

  2. Java将文件中的内容转换为sql语句(和并发定时读取文件)

    数据文件内容data.txt {USER_TYPE=1,CREATE_USER=ZHANG,UPDATE_USER=li,OPER_NUM=D001,SRC=2,UPDATE_TIME=2018-11 ...

  3. 在java中读取文件中的内容

    package shi; import java.io.*; public class wenjianIO { public static void main(String agrs[]){ File ...

  4. [Java]读取文件方法大全(转)

    [Java]读取文件方法大全   1.按字节读取文件内容2.按字符读取文件内容3.按行读取文件内容 4.随机读取文件内容 public class ReadFromFile {     /**     ...

  5. java读取文件方法总结

    由于最近在做一个关于从手机本地读取格式化的txt文件中的内容,并且把内容放在listview中显示.这样问题来了,就是如何能够遍历已经获取到特定的map中就是一个问题,在网上找了一些资料,找到了一个很 ...

  6. Java读取word中表格

    因为要新建一个站,公司要把word表格的部分行列存到数据库中.之前用java操作过excel,本来打算用java从word表格中读取数据,再存到数据库中,结果因为权限不够,无法访问公司要写的那个数据库 ...

  7. Java读取文件-BufferedReader/FileReader/InputStreamReader/FileInputStream的关系和区别

    一.Java读取和存储文件数据流 Java读取文件,实际是将文件中的字节流转换成字符流输出到屏幕的过程   这里面涉及到两个类:InputStreamReader和OutputStreamWriter ...

  8. 利用PushbackReader读取文件中某个字符串之前的内容

    package File; import java.io.FileReader; import java.io.IOException; import java.io.PushbackReader; ...

  9. shell awk读取文件中的指定行的指定字段

    1.awk功能和实用形式 awk指定读取文件中的某一行的某个字段 awk      可以设置条件来输出文件中m行到n行中每行的指定的k字段,使用格式如下 awk    'NR==m,NR==n {pr ...

随机推荐

  1. Zabbix value cache working in low memory mode

    Zabbix监控自身时告警"Zabbix value cache working in low memory mode",出现这个问题是因为Zabbix Server的参数Valu ...

  2. 转载:使用java获取某A股当天/上一交易日的交易基本信息

    整个程序是借用了新浪的对外股票接口http://hq.sinajs.cn/list=sh603696,如果把这个地址放到浏览器地址栏里,你将看到: var hq_str_sh603696=" ...

  3. 转载 深入理解Nginx及使用Nginx实现负载均衡

    转载:https://developer.51cto.com/art/202001/609322.htm 正向代理是代理客户端,也就是客户端能真正接触到的,比如访问外网时需要使用VPN软件,在这个软件 ...

  4. 解决Maven的JDK版本问题

    在pom文件中添加以下代码 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins&l ...

  5. python应用 曲线拟合04

    python应用 曲线拟合04 → 多项式拟合 主要是使用 numpy 库中的 polyfit() 函数,见第 66 行, z = np.polyfit(x_proton, y, 3) ,其中待拟合曲 ...

  6. 【小程序】---- 封装Echarts公共组件,遍历图表实现多个饼图

    一.问题描述: 在小程序的项目中,封装公共的饼图组件,并在需要的页面引入使用.要求一个页面中有多个饼图,动态渲染不同的数据. 二.效果实现: 1. 查看——小程序使用Echarts的方式 2. 封装饼 ...

  7. charles安装破解步骤

    访问该地址https://www.zzzmode.com/mytools/charles/ 安装——生成破解工具charles.jar——替换

  8. 【小白学PyTorch】10 pytorch常见运算详解

    参考目录: 目录 1 矩阵与标量 2 哈达玛积 3 矩阵乘法 4 幂与开方 5 对数运算 6 近似值运算 7 剪裁运算 这一课主要是讲解PyTorch中的一些运算,加减乘除这些,当然还有矩阵的乘法这些 ...

  9. openwrt 单网卡路由模拟实现

    关键字 vlan openwrt 单臂路由 一直以来都认为路由器要至少要求是双网卡,因为至少要有lan/wan.最近看了单臂路由的介绍,自己在虚拟机测试了一把,发现单网口做路由器确实可行! 测试环境 ...

  10. 【二叉树-最长路径系列(任意路径)】直径、最长同值路径、 最大路径和(DFS、树形DP)

    总述 这类题目都是求一个最长路径,这个路径可以不经过根节点. 使用dfs(即递归地遍历树)的方法.维护一个全局最长路径max作为最终结果,而递归方法dfs返回的是含根节点的最长路径.(若不使用全局变量 ...