Java 按行读取文件按行写入文件并以空格分割字符串的方法
作者:MagicGGGGGGGGGGG 发布时间:2023-08-31 12:32:21
标签:Java,文件,空格,字符串
首先是按行读取字符串
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
public class TxtChange {
public static void main(String[] args){
File file=new File("E:\\oldData.txt");
BufferedReader reader=null;
String temp=null;
int line=1;
try{
reader=new BufferedReader(new FileReader(file));
while((temp=reader.readLine())!=null){
// System.out.println("第"+line+"行:"+temp);
String string=AnalyzeStr.getAnalyze().getNewString(temp);//调用分割方法
System.out.println(string);
AnalyzeStr.getAnalyze().saveRecordInFile(string);//调用按行存储字符串
line++;
}
}
catch(Exception e){
e.printStackTrace();
}
finally{
if(reader!=null){
try{
reader.close();
}
catch(Exception e){
e.printStackTrace();
}
}
}
}
}
按照空格分割字符串并重新组合成新的字符串
空是”\s”,是转义字符,需要使用”\s”,“+”代表一个或者多个空格
public String getNewString(String fileName){
String str1="";
String str2="";
String str3="";
String []arrayStr=fileName.split("\\s+");
str1="\n\t\t"+arrayStr[0];
str2="\t"+arrayStr[1];
str3="\t"+arrayStr[2];
return str1+str2+str3;
}
然后按行保存字符串方法,path是保存的路径,例如“D://test.txt”
//追加记录
public void saveRecordInFile(String str) {
File record = new File(path);//记录结果文件
try {
if (!record.exists()) {
File dir = new File(record.getParent());
dir.mkdirs();
record.createNewFile();
}
FileWriter writer = null;
try {
// 打开一个写文件器,构造函数中的第二个参数true表示以追加形式写文件
writer = new FileWriter(record, true);
writer.write(str);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (writer != null) {
writer.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
} catch (Exception e) {
System.out.println("记录保存失败");
}
}
来源:https://blog.csdn.net/hdg745979749/article/details/78049013


猜你喜欢
- Springboot对配置文件的敏感信息加密前言最近公司对软件的安全问题比较在意,要求对配置文件中的敏感信息如数据库密码等进行加密。但是Sp
- JdbcTemplate概述它是spring框架中提供的一个对象,是对原始繁琐的Jdbc API对象的简单封装。spring框架为我们提供了
- 前言:Timer是一个定时器,作为C#开发Timer控件是我们用的比较多的一个控件,它的功能很简单,但是也是值得我们去学习的一个知识点,今天
- 虽然Android给我们提供了众多组件,但是使用起来都不是很方便,我们开发的APK都有自己的风格,如果使用了系统自带的组件,总是觉得和应用的
- 1 什么是class对象类是程序的一部分,每个类都有一个class对象。换言之,每当编写并且编译了一个新类,就会产生一个class对象(更恰
- 下面是自己写的三个方法,直接类名.方法即可调用,注意此处未做异常处理.1.下划线转驼峰 lowerLineToHump()2.首字母大写 c
- 当数据库中数据条数过多时,一个页面就不能显示,这是要设置分页查询,首先要使用的是数据库sql语句的limit条件实现分组查询sql语句大概形
- Java注解是在JDK5时引入的新特性,鉴于目前大部分框架(如spring)都使用了注解简化代码并提高编码的效率,因此掌握并深入理解注解对于
- 本文实例为大家分享了Flutter投票组件的使用方法,供大家参考,具体内容如下前景基于公司项目需求,仿照微博实现投票功能。开发遇到的问题1.
- float是单精度类型,精度是8位有效数字,取值范围是10的-38次方到10的38次方,float占用4个字节的存储空间double是双精度
- c# Invoke与BeginInvoke最近在学习线程时,发现当我创建的线程需要访问UI界面的时,会发生异常,原因是我在跨线程调用主线程的
- Android中很多时候都会用到上下拉刷新,这是一个很常用的功能,Android的v4包中也为我们提供了一种原生的下拉刷新控件--Swipe
- 工作需要,经常需要实现api接口,但每次都是大同小异,我就考虑是否可以将这种重复性的工作配置化。我就写一个模板api,然后所有的HTTP请求
- SpringCloud简介Spring cloud是一个基于Spring Boot实现的服务治理工具包,在微服务架构中用于管理和协调服务的微
- 应用特性:在很多复杂而小功能需要调用需求时,而且这些调用往往还有一定相关性,即一调用就是一系列的。结构特性:把原本复杂而繁多的调用,规划统一
- 自动编辑文本框(AutoCompleteTextView)继承自EditText,能够接受用户的输入编辑,但是有这自己的特色功能:输入一定的
- 查 看: File------>Project Structure-------
- 场景:当我们正在master分支开发新功能的时候,突然接到一个任务发现线上出现了一个紧急的BUG需要修复,由于没有打新分支做这部分新需求,这
- 在使用ComboBox控件时,遇到了重新绑定赋值出问题的情况。正常情况下,对于数据重新赋值的或者绑定数据源的时候,为了防止数据出现问题,都会
- 前言为啥需要学Feign呢?我们先来回顾之前写的代码先来看我们以前利用RestTemplate发起远程调用的代码:这里就有几个问题:代码可读