Java 读取文件中的每一行,并为每一行插入特定的字符串
工具 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>");
Java 读取文件中的每一行,并为每一行插入特定的字符串的更多相关文章
- IO流的练习5 —— 读取文件中的字符串,排序后写入另一文件中
需求:已知s.txt文件中有这样的一个字符串:“hcexfgijkamdnoqrzstuvwybpl” 请编写程序读取数据内容,把数据排序后写入ss.txt中. 分析: A:读取文件中的数据 B:把数 ...
- Java将文件中的内容转换为sql语句(和并发定时读取文件)
数据文件内容data.txt {USER_TYPE=1,CREATE_USER=ZHANG,UPDATE_USER=li,OPER_NUM=D001,SRC=2,UPDATE_TIME=2018-11 ...
- 在java中读取文件中的内容
package shi; import java.io.*; public class wenjianIO { public static void main(String agrs[]){ File ...
- [Java]读取文件方法大全(转)
[Java]读取文件方法大全 1.按字节读取文件内容2.按字符读取文件内容3.按行读取文件内容 4.随机读取文件内容 public class ReadFromFile { /** ...
- java读取文件方法总结
由于最近在做一个关于从手机本地读取格式化的txt文件中的内容,并且把内容放在listview中显示.这样问题来了,就是如何能够遍历已经获取到特定的map中就是一个问题,在网上找了一些资料,找到了一个很 ...
- Java读取word中表格
因为要新建一个站,公司要把word表格的部分行列存到数据库中.之前用java操作过excel,本来打算用java从word表格中读取数据,再存到数据库中,结果因为权限不够,无法访问公司要写的那个数据库 ...
- Java读取文件-BufferedReader/FileReader/InputStreamReader/FileInputStream的关系和区别
一.Java读取和存储文件数据流 Java读取文件,实际是将文件中的字节流转换成字符流输出到屏幕的过程 这里面涉及到两个类:InputStreamReader和OutputStreamWriter ...
- 利用PushbackReader读取文件中某个字符串之前的内容
package File; import java.io.FileReader; import java.io.IOException; import java.io.PushbackReader; ...
- shell awk读取文件中的指定行的指定字段
1.awk功能和实用形式 awk指定读取文件中的某一行的某个字段 awk 可以设置条件来输出文件中m行到n行中每行的指定的k字段,使用格式如下 awk 'NR==m,NR==n {pr ...
随机推荐
- 网络请求以及网络请求下载图片的工具类 android开发java工具类
package cc.jiusan.www.utils; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; ...
- fragment没有getWindowManager 关于fragment下的报错解决方法
其实很简单:只需要在getWindowManager().getDefaultDisplay().getMetrics(metric) 前面加上getactivity()即可.
- HDU - 5775-Bubble Sort(权值线段树)
P is a permutation of the integers from 1 to N(index starting from 1). Here is the code of Bubble So ...
- 2申请高德地图key 初始化地图
https://console.amap.com/dev/key/app vue-amap-基于-vue-2x-与高德的地图组件 https://elemefe.github.io/vue-amap/ ...
- shell小技巧(4)AIX和Linux计算天前日期
Linux计算天前日期: date -d "- day" +%Y%m%d AIX计算5天前日期: perl -e "use POSIX qw(strftime); pri ...
- [oracle/sql]关于清除重复,not in方案和not exists方案的对比
有这样一张表: CREATE TABLE tb_sc ( id NUMBER not null primary key, studentid int not null, courseid int no ...
- synchronized的实现原理——锁膨胀过程
@ 目录 前言 正文 偏向锁 轻量锁 批量重偏向 批量撤销 重量锁 总结 前言 上一篇分析了优化后的synchronized在不同场景下对象头中的表现形式,还记得那个结论吗?当一个线程第一次获取锁后再 ...
- USB 设备驱动(写给自己看的)
集线器与控制器(USB地址7bit) 设备,配置,端点,接口 USB1.0(低速1.2),1.1(全速450m),2.0(高速,电流传输)区别 引脚4根(V,D-,D+,gnd),miniUSB增加 ...
- google protocol buffer——protobuf的问题和改进2
这一系列文章主要是对protocol buffer这种编码格式的使用方式.特点.使用技巧进行说明,并在原生protobuf的基础上进行扩展和优化,使得它能更好地为我们服务. 在上一篇文章中,我们举例了 ...
- win10 系统出现“你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问。”
公司无法访问共享 \192.168.7.101.win+R 输入gpedit.msc2.计算机配置-管理模板–网络-lanman 工作站-找到"启用不安全的来宾登录"选择 已启用. ...