java 文本文件部分内容修改?

比如从一个TXT文件中找到手机号码13730000666,改为1373****666,并保存请问如何实现?这个TXT里有挺多个手机号码,不止一个的,要一个类似Spider... 比如从一个TXT文件中找到手机号码13730000666,改为1373****666,并保存
请问如何实现?
这个 TXT里有挺多个手机号码,不止一个的,要一个类似Spider的吧,请告诉我大概的方法就行了,不用具体的代码的
展开
 我来答
一骑当后
推荐于2017-09-26 · 知道合伙人数码行家
一骑当后
知道合伙人数码行家
采纳数:40299 获赞数:306419
网络、设备维护、电路、弱电检测。

向TA提问 私信TA
展开全部

  整体思路如下:

  1、用 FileInputStream 读取文件内容;
  2、修改内容,string操作;
  3、用 FileOutputStream 写文件内容;

  参考例子如一下:

import java.io.*;

public class TestBufferStream{
public static void main(String[] args){
try{
BufferedReader in = new BufferedReader(new FileReader("in.txt"));
BufferedWriter out = new BufferedWriter(new FileWriter("out.txt"));
String s = null;
while((s = in.readLine()) != null){
out.write(s);
out.newLine();
}
out.flush();
in.close();
out.close();
}catch(IOException e){
e.printStackTrace();
}

}
}
fantasycs
推荐于2017-10-01 · 超过16用户采纳过TA的回答
知道答主
回答量:62
采纳率:0%
帮助的人:0
展开全部
1.把整个TXT文件读取出来(FileReader)存到一个String对象里!
2.正则替换String对象,替换表达式。比如
String a = "13730000666";
String b = a.replaceAll("(\\d{4})(\\d{4})(\\d{3})","$1****$3");
System.out.println(b);
输出: 1373****666
3.再将String对象写回TXT文件。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gao1350
2008-10-15 · 超过13用户采纳过TA的回答
知道答主
回答量:98
采纳率:0%
帮助的人:73万
展开全部
public String find(String str)
{
String temp[]=str.split("1373");
String s="";
for(int i=0;i<temp.length;i++)
{
if(temp[i].startsWith("0000666"))
{
s+="****666"+temp[i].substring(6,temp[i].length());
}else
{
s+=temp[i];
}
}
return s;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式