工具 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. Java是否还能再辉煌十年?

    目录 Java是否还能再辉煌十年? 一.前言 二.如今的Java语言 2.1 位居TIOBE榜首 2.2 革命性的语言 三.Java受到的挑战 3.1 后台服务器软件的语言竞争 3.1.1 Pytho ...

  2. MyBatis-Plus分页——PageHelper和IPage介绍

    两个都用于分页,常用的应该是PageHelper了,理解了一下源码后发现IPage比PageHelper好用. 使用方法是 PageHelper.startPage()然后后边写sql就可以. 紧接着 ...

  3. Q200510-02-02: 重复的DNA序列 SQL解法

    重复的DNA序列所有 DNA 都由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:“ACGAATTCCG”.在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助. 编写一个函数来 ...

  4. 转载:Oracle常见字段类型

    转载节选自:https://bbs.csdn.net/topics/220059184 数据类型 参数 描述 char(n) n=1 to 2000字节 定长字符串,n字节长,如果不指定长度,缺省为1 ...

  5. JVM调优和深入了解性能优化

    JVM调优的本质: 并不是显著的提高系统性能,不是说你调了,性能就能提升几倍或者上十倍,JVM调优,主要调的是稳定.如果你的系统出现了频繁的垃圾回收,这个时候系统是不稳定的,所以需要我们来进行JVM调 ...

  6. Idea没安装几款好用的插件,怎么风骚的写代码???

    ​ 工欲善其事,必先利其器,好的工具可以提升我们的开发效率,越来越多的Java程序员从Eclipse转到了Jetbrains家的Idea.今天给大家介绍的是我常用的十几款Idea必装的插件. ​ Ti ...

  7. Lua GC机制

    说明 分析lua使用的gc算法,如何做到分步gc,以及测试结论 gc算法分析 lua gc采用的是标记-清除算法,即一次gc分两步: 从根节点开始遍历gc对象,如果可达,则标记 遍历所有的gc对象,清 ...

  8. [Leetcode]225. 用队列实现栈 、剑指 Offer 09. 用两个栈实现队列

    ##225. 用队列实现栈 如题 ###题解 在push时候搞点事情:push时入队1,在把队2的元素一个个入队1,再交换队2和队1,保持队1除pushguocheng 始终为空. ###代码 cla ...

  9. python字符串和列表小案例

    python 目录 python 一.字符串 1.给定一个字符串,利用切片将字符串反转 2.给定一个字符串,将空格替换为逗号 3.给定一个字符串,大写改为小写 4.str = '' ,li = ['l ...

  10. NX二次开发-NX访问MySQL数据库(增删改查)

    版本:NX11+VS2013+MySQL5.6(x64)+SQLyog 1.新建一个NX项目(多字节) 2.设置VC++目录(调用MySQL的头文件,dll和lib库文件) 3.设置番茄助手 然后重启 ...