Does anyone know how i can set the size of a character array to the size of a file? The length method in the File class returns a long value representing the number of bytes in the file. So this declaration long[] c = new long[file.length()]; would be the right size when reading Unicode characters that are encoded using UTF-8 but reading the characters that are represented using multiple bytes in UTF-8 would throw an ArrayIndexOutBounds Exception.
Daok whipped up this block of code to do the task but there must be a better way. Any ideas? Thanks.
Code:public static int getFileCharCount(String file) throws IOException{ BufferedReader br = new BufferedReader(new FileReader(file)); String lineOnebyOne = null; String finalText = null; int numberOfChar = 0; while ((lineOnebyOne = br.readLine ())!= null){ finalText += lineOnebyOne; numberOfChar = finalText.length(); br.close(); } return numberOfChar; }


Reply With Quote