我编写了一个用于读取文件内容的程序。
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文件,程序会输出字节码,但会发出一声嘟嘟声。对于所有其他文件,它正确地提供输出。
谁能告诉我为什么?
答案 0 :(得分:4)
FileLineReader.class
很可能是二进制(编译的Java)文件,恰好包含一个值为7的字节,这是贝尔字符的ASCII代码。显示ASCII 7时,许多终端将发出蜂鸣声。
答案 1 :(得分:-2)
如果您正在读取二进制文件,则它们可以包含表示随机声音的字节序列。当您将这样的序列发送到标准输出时,操作系统将播放声音。