Tilted Forum Project Discussion Community  

Go Back   Tilted Forum Project Discussion Community > Interests > Tilted Technology


 
 
LinkBack Thread Tools
Old 10-11-2006, 12:10 PM   #1 (permalink)
Free Mars!
 
feelgood's Avatar
 
Location: I dunno, there's white people around me saying "eh" all the time
[Java] StringBuffer ignoring captalized letters

I have an assignment that is to read from a file that is too large for RandomFileAccess to use. So, instead I'm using FileChannel through MappedByteBuffer reader so that the memory doesn't get overloaded. The first method extract word is to extract the word from inputted file. The second method findNextLetter is to find the next letter as long as it is [a-z][A-Z].

Code:
private static String extractWords(MappedByteBuffer readBuffer) {
	StringBuffer word = new StringBuffer();
	byte nextByte = readBuffer.get();
		
	while((nextByte > 64 && nextByte < 91) || (nextByte > 96 && nextByte < 123)) {
		word.append((char)nextByte);
		nextByte = readBuffer.get();
	}
		
	if(readBuffer.hasRemaining())
		findNextLetter(readBuffer);
	return word.toString();
}

private static void findNextLetter(MappedByteBuffer readBuffer) {
	byte nextByte = readBuffer.get();
	while((nextByte > 64 && nextByte < 91) || !(nextByte > 96 && nextByte < 123)) {
		nextByte = readBuffer.get();
	}
	readBuffer.position(readBuffer.position() - 1);
}
I used an article from CNN as a test file. the first word was "WASHINGTON" and it printed it out just fine but from that point on, all captialized letters were ignored. Here's what the test file looks like:

Code:
WASHINGTON (CNN)  -- North Korea's claims of a nuclear test establish Pyongyang as a "threat to international peace," President Bush said Wednesday as he pledged to defend U.S. allies and interests in the region.
And it would print out something like this:
Code:
WASHINGTON
orth
orea
s
claims
of
a
nuclear
test
establish
yongyang
as
a
threat
to
international
peace
resident
ush
said
ednesday
as
he
pledged
to
defend
allies
and
interests
in
the
I did a byte printout of each letter and found that each captialized letter still falls within the 65-90 and 95-122 range. Any idea why?
__________________
Looking out the window, that's an act of war. Staring at my shoes, that's an act of war. Committing an act of war? Oh you better believe that's an act of war
feelgood is offline  
Old 10-11-2006, 05:54 PM   #2 (permalink)
Crazy
 
Do you want a not (!) on the first part of the while loop in the findNextLetter method?
__________________
Even if you stop the clock, it gives the right time twice a day.
Once we get out of the eighties, the nineties are going to make the sixties look like the fifties.
kofspades is offline  
 

Tags
captalized, ignoring, java, letters, stringbuffer


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT -8. The time now is 09:02 PM.

Tilted Forum Project

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Optimization by vBSEO 3.6.0 PL2
© 2002-2012 Tilted Forum Project

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76