java 查找数字_用java来写:查找数字

本文介绍了一个Java程序,该程序能够从指定文件中读取数据,并根据预设的字符串列表进行匹配,将匹配结果写入新的文件。程序使用了多种Java I/O类库,包括Scanner、BufferedReader和BufferedWriter等,实现了文件的高效读写。

展开全部

package image;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileReader;

import java.io.FileWriter;

import java.util.ArrayList;

import java.util.List;

import java.util.Scanner;

public class LookingFile

{

public static final String FILE = "查找前.txt";

public static final String RESULT = "查找后.txt";

public static final String VALUES = "0,3,5,6,9";

public static List looking ( String file )

{

62616964757a686964616fe58685e5aeb931333335316439int index = -1;

String head = "", body = "";

String reg = "\\s+";

ArrayList bucket = new ArrayList ();

Scanner scanner = null;

try

{

scanner = new Scanner (new File (file), "UTF-8").skip ("[\u4e00-\u9fff\\s]+");

while (scanner.hasNextLine ())

{

index++;

String[] line = scanner.nextLine ().split (reg);

head = line[0].trim ();

body = line[1].trim ();

if (VALUES.indexOf (body) != -1)

{

if (bucket.contains ("#"))

{

for ( int i = 0; i 

{

if ("#".equals (bucket.get (i)))

{

bucket.set (i, String.valueOf (index - i));

}

}

}

}

if (!"0".equals (head))

{

bucket.add ("a");

}

else

{

bucket.add ("#");

}

}

for ( int i = 0; i 

{

if ("#".equals (bucket.get (i)))

{

bucket.set (i, "空");

}

}

bucket.set (bucket.size () - 1, "No");

}

catch (Exception e)

{

e.printStackTrace ();

}

finally

{

if (null != scanner)

{

scanner.close ();

}

}

return bucket;

}

public static void writing ( List bucket, String file, String result )

{

int index = -1;

String line = null;

FileReader fr = null;

BufferedReader br = null;

FileWriter fw = null;

BufferedWriter bw = null;

try

{

fr = new FileReader (file);

br = new BufferedReader (fr);

fw = new FileWriter (result);

bw = new BufferedWriter (fw);

while (null != ( line = br.readLine () ))

{

line = line.trim ();

if (line.matches ("\\d+\\s+\\d+"))

{

index++;

bw.write (line + "\t\t" + bucket.get (index) + System.getProperty ("line.separator"));

}

}

bw.flush ();

bw.close ();

fw.close ();

br.close ();

fr.close ();

}

catch (Exception e)

{

e.printStackTrace ();

}

}

public static void main ( String[] args )

{

writing (looking (FILE), FILE, RESULT);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值