java - Searching through multiple files does not work -
ok, have function, use search specific text in file, when finds text in file, should return lines in files contain text so, have function that...but have function little bit different, not return anything, , sure file contains searched text... so, here function work:
public void searchtext(string text, commandsender p) { file[] searchfiles = new file[files.size()]; searchfiles = files.toarray(searchfiles); filereader filereader = null; bufferedreader br = null; for(file searchfile : searchfiles) { try { filereader = new filereader(searchfile); br = new bufferedreader(filereader); string line = ""; while ((line = br.readline()) != null) { if (line.indexof(text) >= 0) { p.sendmessage(line); } } } catch (exception e) { if((filereader != null) && (br != null)) { try { br.close(); filereader.close(); } catch (ioexception e1) { // todo auto-generated catch block e1.printstacktrace(); } } e.printstacktrace(); } { if((filereader != null) && (br != null)) { try { br.close(); filereader.close(); } catch (ioexception e1) { // todo auto-generated catch block e1.printstacktrace(); } } } } } that function nicely gives these lines console. when use function:
public string searchpos(int x, int y, int z) { string xyz = z + ", " + y + ", " + z; stringbuffer sb = new stringbuffer(); file[] searchfiles = new file[files.size()]; searchfiles = files.toarray(searchfiles); filereader filereader = null; bufferedreader br = null; for(file searchfile : searchfiles) { try { filereader = new filereader(searchfile); br = new bufferedreader(filereader); string line = ""; while ((line = br.readline()) != null) { if ((line.indexof(xyz) >= 0) || (line.contains(xyz))) { sb.append(line); } } } catch (exception e) { if((filereader != null) && (br != null)) { try { br.close(); filereader.close(); } catch (ioexception e1) { e1.printstacktrace(); } } e.printstacktrace(); } { if((filereader != null) && (br != null)) { try { br.close(); filereader.close(); } catch (ioexception e1) { e1.printstacktrace(); } } } } return sb.tostring(); } the return "" or nothing, , can't understand why first function work, , second doesn't.
thanks in advance, blackwolf12333
you never add stringbuffer object, expect return ""
Comments
Post a Comment