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哪个是 Java 程序的 .class 文件,程序会输出字节码,但会发出哔哔声。对于所有其他文件,它会正确提供输出。

谁能告诉我为什么?

4

2 回答 2

4

FileLineReader.class很可能是一个二进制(已编译的 Java)文件,它恰好包含一个值为 7 的字节,这是响铃字符的 ASCII 码。当显示 ASCII 7 时,许多终端会发出蜂鸣声。

于 2012-05-21T02:49:29.217 回答
-2

如果您正在阅读二进制文件,它们可以包含代表随机声音的字节序列。当您将这样的序列发送到标准输出时,操作系统将播放声音。

于 2012-05-21T02:48:56.100 回答