- 1. 需求
- 2. 解决方案
- 2.1写txt
- 2.2 读txt
- 2.3 清空txt中的内容
- 2.4 所有代码
- 任务提交完成后会生成一个办件号,然后后台审核(大概是十几分钟)
- 审核完毕后要操作查询(通过办件号查询)
所以说上一个任务生成的办件号需要保存起来,,,后边查询任务需要使用
这里考虑用txt文本存储
创建一个txt,操作txt的读取和写入
2.1写txt 不覆盖的写
FileWriter(file,true),true 表示可以将数据写入文件的末尾而不会替换文件原来的内容
package com.guo.Util;
import java.io.*;
public class WriteTxt {
public static void writeFile(String data){
try{
String filePath = "C:\Users\EDY\Desktop\write.txt";
File file =new File(filePath);
//如果文件不存在则创建
if(!file.exists()){
file.createNewFile();
}
//FileWriter(file,true),true 表示可以将数据写入文件的末尾而不会替换文件原来的内容
FileWriter fileWritter = new FileWriter(file,true);
BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
bufferWritter.write(data);
//bufferWritter.write("n");
bufferWritter.close();
System.out.println("写入成功");
}catch(IOException e){
e.printStackTrace();
}
}
public static void main( String[] args ) {
StringBuilder data = new StringBuilder();
data.append("123456").append("n");
data.append("234567").append("n");
data.append("345678").append("n");
writeFile(data.toString());
}
}
2.2 读txt
以行为单位读取文件内容,一次读一整行
package com.guo.Util;
import java.io.*;
import java.util.ArrayList;
import static com.guo.Util.WriteTxt.writeFile;
public class ReadTxt {
public static ArrayList readFile(){
File file = new File("C:\Users\EDY\Desktop\write.txt");
BufferedReader reader = null;
String tempString = null;
ArrayList stringLists = new ArrayList<>();
try {
System.out.println("以行为单位读取文件内容,一次读一整行:");
reader = new BufferedReader(new FileReader(file));
while ((tempString = reader.readLine()) != null) {
stringLists.add(tempString);
}
reader.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
if(reader != null){
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return stringLists;
}
public static void main(String[] args) {
ArrayList list = readFile(); //取出数据
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
clearInfoForFile(); //清除文件中所有的内容
//取出的数据做特殊的处理
for (int i = 0; i < list.size(); i++) {
if (list.get(i).contains(",")||"".equals(list.get(i))){
list.remove(i);
i--;
}
}
StringBuilder sB = new StringBuilder();
for (int i = 0; i < list.size(); i++) {
if (!"0".equals(list.get(i))||"n".equals(list.get(i))){//如果这一行没有被标记0,就添加到SB字符串中
sB.append(list.get(i)).append("n"); //每条数据单独占一行,方便取数据
}
}
writeFile(sB.toString());
System.out.println(sB);
}
//清空txt文件
public static void clearInfoForFile() {
File file = new File("C:\Users\EDY\Desktop\write.txt");
try {
if(!file.exists()) {
file.createNewFile();
}
FileWriter fileWriter =new FileWriter(file);
fileWriter.write("");
fileWriter.flush();
fileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
2.3 清空txt中的内容
这里用的是覆盖的写txt
FileWriter(file,true),true 表示末尾追加新数据
FileWriter(file),表示新的数据覆盖原来的所有的数据
//清空txt文件
public static void clearInfoForFile() {
File file = new File("C:\Users\EDY\Desktop\write.txt");
try {
if(!file.exists()) {
file.createNewFile();
}
FileWriter fileWriter =new FileWriter(file);
fileWriter.write(""); //写入空
fileWriter.flush();
fileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
2.4 所有代码
來 这里的文件的路径名称写死的可以根据情况自定义修改
public static void writeFile(String data){
try{
String filePath = "C:\Users\EDY\Desktop\good.txt";
File file =new File(filePath);
//如果文件不存在则创建
if(!file.exists()){
file.createNewFile();
}
//FileWriter(file,true),true 表示可以将数据写入文件的末尾而不会替换文件原来的内容
FileWriter fileWritter = new FileWriter(file,true);
BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
bufferWritter.write(data);
//bufferWritter.write("n");
bufferWritter.close();
System.out.println("写入成功");
}catch(IOException e){
e.printStackTrace();
}
}
public static ArrayList readFile(){
File file = new File("C:\Users\EDY\Desktop\good.txt");
BufferedReader reader = null;
String tempString = null;
ArrayList stringLists = new ArrayList<>();
try {
System.out.println("以行为单位读取文件内容,一次读一整行:");
reader = new BufferedReader(new FileReader(file));
while ((tempString = reader.readLine()) != null) {
stringLists.add(tempString);
}
reader.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
if(reader != null){
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return stringLists;
}
public static void clearInfoForFile() {
File file = new File("C:\Users\EDY\Desktop\good.txt");
try {
if(!file.exists()) {
file.createNewFile();
}
FileWriter fileWriter =new FileWriter(file);
fileWriter.write("");
fileWriter.flush();
fileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
ArrayList list = readFile(); //读取数据
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
clearInfoForFile(); //清除文件中所有的内容
//取出的数据做特殊的处理
for (int i = 0; i < list.size(); i++) {
if (list.get(i).contains(",")||"".equals(list.get(i))){
list.remove(i);
i--;
}
}
StringBuilder sB = new StringBuilder();
for (int i = 0; i < list.size(); i++) {
if (!"0".equals(list.get(i))||"n".equals(list.get(i))){//如果这一行没有被标记0,就添加到SB字符串中
sB.append(list.get(i)).append("n"); //每条数据单独占一行,方便取数据
}
}
writeFile(sB.toString()); //写数据
System.out.println(sB);
}
//
// public static void main( String[] args ) { //添加(写)数据
// StringBuilder data = new StringBuilder();
// data.append("123456").append("n");
// data.append("234567").append("n");
// data.append("345678").append("n");
// writeFile(data.toString());
// }



