java 读文件 缓存_Java读写文件缓存和URL处理

在这个例子中,使用sr变量作为缓存变量,同时,通过判断sr的长度获取缓存大小,防止占用内存过大导致卡死。

package com.taoniwu;

import java.util.regex.*;

import java.io.*;

public class TestRead {

public static void main (String[] args) {

File file=new File ("D://web.txt");

try

{

BufferedReader input=new BufferedReader (new FileReader (file) );

String text;

int sum = 0;

File txt = new File("d://web.html");

//判断文件是否存在

if(!txt.exists()){

txt.createNewFile();

}

else{

txt.delete();

}

FileWriter fw=new FileWriter( "d://web.html",true);

BufferedWriter bw=new BufferedWriter(fw);

String sr = "";

while ( (text=input.readLine() ) !=null) {

//正则表达,过滤非www开头的网址

Pattern p = Pattern.compile ("http://www.*./");

Matcher m = p.matcher (text);

while (m.find()) //查找符合pattern的字符串

{

//过滤带”baidu“和带”tarena”的url,并叠加链接代码

if(m.group().indexOf("baidu") == -1 && m.group().indexOf("tarena") == -1 && m.group().indexOf("aowin") == -1)

{

sr = sr + sum + "、"+m.group()+"
\\n";

sum++;

}

//添加缓存,当缓存达到30k时写入,并把sr清空

if(sr.length()>30720){

bw.write(sr);

sr = "";

}

}

}

bw.write(sr+"\\n");

bw.close();

} catch (Exception ex) {

System.out.println (ex+"错误");

}

System.out.println("完成!");

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值