2012-05-21 4 views
1

Я написал программу для чтения содержимого файла.читать содержимое файла

import java.io.*; 

public class FileLineReader { 
    public static void main(String args[]) { 
    try { 
     FileReader reader = 
      new FileReader("C:\\Users\\sriram\\Documents\\Java Programs\\" + 
         args[0]); 
     BufferedReader buffer = new BufferedReader(reader); 
     String fileContent; 
     while ((fileContent = buffer.readLine()) != null) { 
     System.out.println(fileContent); 
     } 
    } catch(Exception e) { 
     e.printStackTrace(); 
    } 
    } 
} 

Таким образом, в основном он считывает содержимое из определенной папки. Если я даю ввод как FileLineReader.class, который является файлом .class программы Java, программа выводит байт-код, но дает звуковой сигнал. Для всех других файлов он дает результат правильно.

Может ли кто-нибудь сказать мне, почему?

+4

1) Для кодовых блоков используйте последовательный и логический отступ. 2) Не игнорируйте вывод исключений. Изменить 'catch (Exception e) {}' to 'catch (Исключение e) {e.printStackTrace(); } ' –

+1

@AndrewThompson TIFIFY. :-) –

+1

@AdamLiss Теперь вы можете исправить «игнорирование вывода» .. и протрите мой подбородок? ;) –

ответ

4

FileLineReader.class скорее всего является двоичным (скомпилированным Java) файлом, в котором содержится байт со значением 7, который является кодом ASCII для символа колокола. Многие терминалы будут издавать звуковой сигнал при отображении ASCII 7.

+0

Откуда вы знаете этого много чувака? Удивительный ответ :). – sriram

+2

@sriram Вернувшись в темные века, когда мы написали код при свечах и не было SoundBlasters, говорящий о компьютере был всем, что мы должны были предупредить, когда произошло что-то интересное. –

+0

Ran эта программа в mac env. Звук не слышал. Мой env. > Java-версия "1.6.0_31" Java (TM) SE Runtime Environment (сборка > 1.6.0_31-b04-415-11M3635) > Java HotSpot (TM) 64-разрядная серверная VM (сборка 20.6-b01-415) , смешанный режим) > и Mac OS Lion 10.7.4 –

-2

Если вы читаете двоичные файлы, они могут содержать последовательность байтов, представляющую случайный звук. Когда вы отправляете такую ​​последовательность на стандартный вывод, ОС будет воспроизводить звук.

+1

Не ваш нисходящий, но это неверно. См. Другой ответ Адама. –

Смежные вопросы