在java中如何修改文本文件中的某一行的某些数据??

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在java中如何修改文本文件中的某一行的某些数据??相关的知识,希望对你有一定的参考价值。

每一行形如:2011001#123#10000#HQ#2010-12-02 11:11:11
分别是:账号、密码、余额、身份、日期

你可以先定义一个InputStreamReader读取文本文件内容,然后再用一个LineNumberReader获取刚才InputStreamReader的对象,LineNumberReader里有个方法readLine()是用来一行一行的顺序读取字符,然后用一个判断语句来判断你想修改的行,最后删除或修改就可以了 参考技术A

首先 你要一行一行的读  当你读取到你需要修改的数据时可以使用 字符串替换方法 即replace方法

例如:

String str ="12345";
System.out.println("str=" + str.replace("3", "45"));

这样得到的结果就是 str = 124545;

replace第一个参数为 你要将其替换出去的数据,第二个参数为你要将其替换进来的数据

参考技术B 可以用字符分析器StringTokenizer方法将字符串进行分解,再进行相应位置的修改本回答被提问者采纳 参考技术C IO流有按行读取的方法 你把这一行 读出来 为一个String类型字符串 在用split("#")切字符串 不就ok了 再对应修改 参考技术D 这个没什么方法,就是读取文本文件,按行读取,然后就是字符串操作,截取就是了

Java 如何修改文件的某一行内容

例如有个txt文件如下:
1 小明
2 小刚
3 小红
改为
1 小明
2 小王八
3 小红‘
请举个例子

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
public class Day02_B 
static String path="K:/Test/Name.txt";//路径
public static void main(String[] args) 
File fileText=new File(path);//文件
if(fileText.canExecute()) //如果文件存在就继续
setText(fileText,"刚","xx");//“刚”指定改为:“XX”

private static void setText(File fileText,String target,String src) //修改
BufferedReader br=null;
PrintWriter pw=null;
StringBuffer buff=new StringBuffer();//临时容器!
String line=System.getProperty("line.separator");//平台换行!
try 
br=new BufferedReader(new FileReader(fileText));
for(String str=br.readLine();str!=null;str=br.readLine()) 
if(str.contains(target)) 
str=str.replaceAll(target,src);
buff.append(str+line);

pw=new PrintWriter(new FileWriter(fileText),true);
pw.println(buff);
 catch (FileNotFoundException e) 
e.printStackTrace();
catch (IOException e) 
e.printStackTrace();
finally 
if(br!=null)
try 
br.close();
 catch (IOException e) 
e.printStackTrace();

if(pw!=null) 
pw.close();


追答

参考技术A 按行读取文件,然后将你要换的数据替换掉,然后在重新全部写入文件 参考技术B String str;
str.replace("小刚", "小王八");
参考技术C 密码怎么解锁

以上是关于在java中如何修改文本文件中的某一行的某些数据??的主要内容,如果未能解决你的问题,请参考以下文章

Java 如何使用输入流和输出流 将txt文件中的某一行数据删除?

Java 如何修改文件的某一行内容

如何在该行某处某处的某一行中的特定字符串之后从文本文件中获取一个数字?

fortran如何读入文本文件中的某行的指定部分

JAVA 在原文件修改某一行内容,不要创建新文件的方法!请讲详细点 谢谢!

java 如何向txt文件中的某一行继续写入