JAVA 查找TXT文件内容!!
以下是代码:publicstaticvoidmain(String[]args){intdb2Name;Stringfname="c:\\1.txt";Filef=new...
以下是代码:
public static void main (String[] args) {
int db2Name;
String fname = "c:\\1.txt";
File f = new File(fname);
try {
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
String s = br.readLine();
Pattern p = Pattern.compile("\\W(s.([0-9])*?)\\W");
Matcher m = p.matcher(s);
System.out.println("b");
while (s!=null){
while (m.find()) {
System.out.println(m.group(1).substring(1, 8));
db2Name=Integer.parseInt(m.group(1).substring(1, 8));
} s= br.readLine();
}
br.close();// 关闭缓冲读入流及文件读入流的连接.
System.out.println("a");
} catch (FileNotFoundException e1) {
System.err.println("File not found: " + fname);
} catch (IOException e2) {
e2.printStackTrace();
}
}
==================================================
在1.TXT中:
数据库 sacl1 的数据库配置 数据库配置发行版级别 = 0x0a00 数据库
发行版级别 = 0x0a00 数据库地域
===================================
以上这样的格式就可以读取s开头的字母了。
在2.TXT中
==================================
数据库 sacl1 的数据库配置
数据库配置发行版级别 = 0x0a00
数据库发行版级别 = 0x0a00
数据库地域 = CN
数据库代码页 = 1386
==============================================
这样的格式就找不到S开头的字符了这个是为什么啊? 展开
public static void main (String[] args) {
int db2Name;
String fname = "c:\\1.txt";
File f = new File(fname);
try {
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
String s = br.readLine();
Pattern p = Pattern.compile("\\W(s.([0-9])*?)\\W");
Matcher m = p.matcher(s);
System.out.println("b");
while (s!=null){
while (m.find()) {
System.out.println(m.group(1).substring(1, 8));
db2Name=Integer.parseInt(m.group(1).substring(1, 8));
} s= br.readLine();
}
br.close();// 关闭缓冲读入流及文件读入流的连接.
System.out.println("a");
} catch (FileNotFoundException e1) {
System.err.println("File not found: " + fname);
} catch (IOException e2) {
e2.printStackTrace();
}
}
==================================================
在1.TXT中:
数据库 sacl1 的数据库配置 数据库配置发行版级别 = 0x0a00 数据库
发行版级别 = 0x0a00 数据库地域
===================================
以上这样的格式就可以读取s开头的字母了。
在2.TXT中
==================================
数据库 sacl1 的数据库配置
数据库配置发行版级别 = 0x0a00
数据库发行版级别 = 0x0a00
数据库地域 = CN
数据库代码页 = 1386
==============================================
这样的格式就找不到S开头的字符了这个是为什么啊? 展开
2个回答
展开全部
在这里我给你提供一个不用正则的查找,你看看,要是不行可以问我
package com.zj.demo.test1;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TestFile {
public static void main(String[] args) {
int db2Name;
String fname = "c:\\1.txt";
File f = new File(fname);
try {
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
String s = br.readLine();
while (s != null) {
int num = s.indexOf("s");// 获得s所在的下标,
// 让后看你要的应该是s开始到di8个
if (num != -1) {
String str = null;
try {
str = s.substring(num, num + 8);
} catch (Exception e) {
str = s.substring(num);
}
System.out.println(str);// 这个就应该是你要的东西了
}
s = br.readLine();
}
br.close();// 关闭缓冲读入流及文件读入流的连接.
System.out.println("a");
} catch (FileNotFoundException e1) {
System.err.println("File not found: " + fname);
} catch (IOException e2) {
e2.printStackTrace();
}
}
}
package com.zj.demo.test1;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TestFile {
public static void main(String[] args) {
int db2Name;
String fname = "c:\\1.txt";
File f = new File(fname);
try {
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
String s = br.readLine();
while (s != null) {
int num = s.indexOf("s");// 获得s所在的下标,
// 让后看你要的应该是s开始到di8个
if (num != -1) {
String str = null;
try {
str = s.substring(num, num + 8);
} catch (Exception e) {
str = s.substring(num);
}
System.out.println(str);// 这个就应该是你要的东西了
}
s = br.readLine();
}
br.close();// 关闭缓冲读入流及文件读入流的连接.
System.out.println("a");
} catch (FileNotFoundException e1) {
System.err.println("File not found: " + fname);
} catch (IOException e2) {
e2.printStackTrace();
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
找不到S开头的字符???这句话是什么意思?什么叫S开头的字符,一个字母就是一个字符。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询