在java中如何修改文本文件中的某一行的某些数据??
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在java中如何修改文本文件中的某一行的某些数据??相关的知识,希望对你有一定的参考价值。
每一行形如:2011001#123#10000#HQ#2010-12-02 11:11:11
分别是:账号、密码、余额、身份、日期
首先 你要一行一行的读 当你读取到你需要修改的数据时可以使用 字符串替换方法 即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.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();
追答
str.replace("小刚", "小王八"); 参考技术C 密码怎么解锁
以上是关于在java中如何修改文本文件中的某一行的某些数据??的主要内容,如果未能解决你的问题,请参考以下文章
Java 如何使用输入流和输出流 将txt文件中的某一行数据删除?
如何在该行某处某处的某一行中的特定字符串之后从文本文件中获取一个数字?