請問:如何判斷一字符串在一個文本中是否存在? 請問:已知一字符串"###",如何判斷它在一個文本"file.txt"中是否存在?3Q!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 流读入,组合成长字符川,再用String.indexOf("###");判断 按行读,再判断String.indexOf("###") >=0 ?;这样不需要太大内存。 import java.io.*;public class Test { public static void main(String[] args) { try { File file = new File("file.txt"); BufferedReader reader = new BufferedReader(new InputStreamReader( new FileInputStream(file))); String line = reader.readLine(); StringBuffer buffer = new StringBuffer(); while (line != null) { buffer.append(line); line = reader.readLine(); } reader.close(); String text = buffer.toString(); if (text.indexOf("###") >= 0) { System.out.println("included"); } else { System.out.println("excluded"); } } catch (Exception e) { } }} rower203(华仔) :呵呵。你有没有考虑这个情况I want eat some banana, ###,very goodyes.end 要结合实际需求,只有pinksunday (pinksunday)知道那种更适合他的实际需求了,哈哈。 通常情况下:import java.io.*;public class ReadLineFromFile { private boolean judge(String content, String fileName){ try { File file = new File(fileName); BufferedReader reader = new BufferedReader(new InputStreamReader( new FileInputStream(file))); String line = reader.readLine(); while (line != null) { if (line.indexOf(content) >= 0) { reader.close(); return true; } line = reader.readLine(); } reader.close(); return false; } catch (Exception e) { } return false; } public static void main(String[] args) { ReadLineFromFile rlff = new ReadLineFromFile(); System.out.println("Include ? : " + rlff.judge("###", "file.txt")); }} 謝謝,我用莫飛的代碼,做了一點改動就可以了://File file = new File("D:\file\2.txt");BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("D:\\file\\2.txt"))); D:\file\2.txt文件很大时莫飛的代碼机器内存一定要暴!而我的不会。 下面代碼能通過編譯,在執行時提示:Exception in thread "main" java.lang.NoClassDefFoundError: File11爲什麽阿?怎麽解決呢?import java.io.*;class File1{ public static void main(String[] args) { try { //從文件1中取出特定的字符串 BufferedInputStream in1=new BufferedInputStream(new FileInputStream ("D:\\file\\1.txt")); DataInputStream in=new DataInputStream(new LineNumberInputStream(in1)); String line=in.readLine (); line=line.substring(0,line.indexOf("/")); //System.out.println(line); String needed=line.substring(line.lastIndexOf(" ")+4); //比較字符串是否在2.txt中存在 BufferedReader reader = new BufferedReader(new InputStreamReader (new FileInputStream("D:\\file\\2.txt"))); String line1 = reader.readLine(); StringBuffer buffer = new StringBuffer(); while (line1 != null) { buffer.append(line1); line1 = reader.readLine(); } //Reader.close(); String text = buffer.toString(); if (text.indexOf(needed) >= 0) { System.out.println("included"); } // System.out.println(needed); in.close(); } catch(IOException e) {e.printStackTrace(); } }} 你的类是File1,不是File11,呵呵。 其实在每行结尾再加一个特殊的字符也不会影响的,比如加一个"/n",为什么非要处理?只要/n不包括在###中是不会影响结果的:while (line != null) { buffer.append(line); buffer.append("/n"); line = reader.readLine(); } scjp 里边的一道题,求解释。答案是D,我怎么感觉E对啊。 用SAX方式解析XML JFileChooser 保存文件时根据选择的文件类型改变文件后缀名 帮个小忙啦!! JAVA程序员高级群 import关键字该如何使用? JMF 我装好了还需要配置不呢? 我看看这个题目,很简单(一起学习java 散分) 请教定义实体类的问题 请问如何得到屏幕的分辨率 新人提问 如果str为null,String.valueOf(str)会返回字符串'null'的,我想返加"".怎办?
这样不需要太大内存。
try {
File file = new File("file.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(
new FileInputStream(file)));
String line = reader.readLine();
StringBuffer buffer = new StringBuffer();
while (line != null) {
buffer.append(line);
line = reader.readLine();
}
reader.close();
String text = buffer.toString();
if (text.indexOf("###") >= 0) {
System.out.println("included");
} else {
System.out.println("excluded");
}
} catch (Exception e) { }
}}
呵呵。你有没有考虑这个情况
I want eat some banana, ##
#,very good
yes.
end
只有pinksunday (pinksunday)知道那种更适合他的实际需求了,哈哈。
import java.io.*;public class ReadLineFromFile {
private boolean judge(String content, String fileName){
try {
File file = new File(fileName);
BufferedReader reader = new BufferedReader(new InputStreamReader(
new FileInputStream(file)));
String line = reader.readLine(); while (line != null) {
if (line.indexOf(content) >= 0) {
reader.close();
return true;
}
line = reader.readLine();
}
reader.close();
return false;
} catch (Exception e) { }
return false;
} public static void main(String[] args) {
ReadLineFromFile rlff = new ReadLineFromFile();
System.out.println("Include ? : " + rlff.judge("###", "file.txt"));
}
}
我用莫飛的代碼,做了一點改動就可以了:
//File file = new File("D:\file\2.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("D:\\file\\2.txt")));
而我的不会。
Exception in thread "main" java.lang.NoClassDefFoundError: File11
爲什麽阿?怎麽解決呢?import java.io.*;class File1
{
public static void main(String[] args)
{
try
{
//從文件1中取出特定的字符串
BufferedInputStream in1=new BufferedInputStream(new FileInputStream ("D:\\file\\1.txt"));
DataInputStream in=new DataInputStream(new LineNumberInputStream(in1));
String line=in.readLine ();
line=line.substring(0,line.indexOf("/"));
//System.out.println(line);
String needed=line.substring(line.lastIndexOf(" ")+4);
//比較字符串是否在2.txt中存在
BufferedReader reader = new BufferedReader(new InputStreamReader
(new FileInputStream("D:\\file\\2.txt")));
String line1 = reader.readLine();
StringBuffer buffer = new StringBuffer();
while (line1 != null)
{
buffer.append(line1);
line1 = reader.readLine();
}
//Reader.close();
String text = buffer.toString();
if (text.indexOf(needed) >= 0)
{
System.out.println("included");
}
// System.out.println(needed);
in.close();
}
catch(IOException e)
{e.printStackTrace(); }
}
}
while (line != null) {
buffer.append(line);
buffer.append("/n");
line = reader.readLine();
}