Java 按行读取文件按行写入文件并以空格分割字符串的方法

 更新时间:2018年07月24日 11:30:28   作者:MagicGGGGGGGGGGG  
今天小编就为大家分享一篇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("记录保存失败");
  }
 }

以上这篇Java 按行读取文件按行写入文件并以空格分割字符串的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • java泛型中占位符T和?有什么区别

    java泛型中占位符T和?有什么区别

    泛型中占位符T和?有什么区别?有的人可能弄不清楚,本文主要介绍了java泛型中占位符T和?有什么区别,具有一定的参考价值,感兴趣的可以了解一下
    2022-05-05
  • Java Scala之面向对象

    Java Scala之面向对象

    Scala是一门面向对象的语言。在Scala中,一切皆为对象函数是对象,数字也是对象,本文详细介绍了Scala面向对象的原理和介绍,感兴趣的小伙伴可以参考一下
    2023-04-04
  • Java实现int、long、Integer、Long之间的相互转换

    Java实现int、long、Integer、Long之间的相互转换

    本文主要介绍了Java实现int、long、Integer、Long之间的相互转换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • Springboot测试类没有bean注入问题解析

    Springboot测试类没有bean注入问题解析

    这篇文章主要介绍了Springboot测试类没有bean注入问题解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Spring框架七大模块简单介绍

    Spring框架七大模块简单介绍

    这篇文章主要介绍了Spring框架七大模块简单介绍,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • zookeeper服务优化的一些建议

    zookeeper服务优化的一些建议

    今天小编就为大家分享一篇关于zookeeper服务优化的一些建议,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • springboot2.x只需两步快速整合log4j2的方法

    springboot2.x只需两步快速整合log4j2的方法

    这篇文章主要介绍了springboot2.x只需两步快速整合log4j2的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • 使用Java实现将ppt转换为文本

    使用Java实现将ppt转换为文本

    这篇文章主要为大家详细介绍了如何使用Java实现将ppt转换为文本,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以参考下
    2024-01-01
  • Spring Boot线程池使用的一些实用心得

    Spring Boot线程池使用的一些实用心得

    理论上线程越多程序可能更快,但在实际使用中我们需要考虑到线程本身的创建以及销毁的资源消耗,以及保护操作系统本身的目的我们通常需要将线程限制在一定的范围之类,这篇文章主要给大家介绍了关于Spring Boot线程池使用的一些实用心得,需要的朋友可以参考下
    2021-09-09
  • Windows下gradle的安装与配置的超详细教程

    Windows下gradle的安装与配置的超详细教程

    这篇文章主要介绍了Windows下gradle的安装与配置,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09

最新评论