Eu estou tendo dificuldade em ler um texto que está em binário, variando 0 à 255. Eu quero que ele pare de ler quando o for encontrada a sequencia (26 e 0 na tabela asc). porém, quando eu faço isso dah o seguinte erro:
Exception in thread “main” java.lang.StringIndexOutOfBoundsException: String index out of range: 22
at java.lang.String.charAt(String.java:686)
at nauticos.ReadingMethods.readHeader(ReadingMethods.java:63)
at nauticos.ReadingMethods.readHeaderLine(ReadingMethods.java:59)
at nauticos.Main.main(Main.java:45)
Java Result: 1
public void readHeaderLine (RandomAccessFile fis) throws IOException {
String thisString="";
char thisChar = (char) fis.read();
while ((thisChar != 13) && (thisChar != 0)) {
if (thisChar!=10){
thisString=thisString+thisChar;
}
thisChar = (char) fis.read();
}
System.out.println(thisString);
readHeader(fis, thisString);
}
public void readHeader (RandomAccessFile fis, String s) throws IOException{
while (s.charAt(s.length())!=26) // dah erro nessa linha
readHeaderLine(fis);
}
}
Alguém pode me ajudar???