为什么提示找不到"main class"
今天我照着<thinking in java 2th>的p594页做了以下程序,编译时突然就弹出一个"
java virtual machine launcher"的对话框,内容为:"could not find the main class.program well exit" 但是编译其他的java文件就没事,对了,我用的编译器为eclipse,在command中用javac命令也是出现同样的提示,诧异中........
import java.io.*;
public class IOStreamDemo {
// throw exceptions to console:
public static void main(String[] args) throws IOException {
// 1. reading input by lines:
BufferedReader in = new BufferedReader(
new FileReader("IOStreamDemo.java"));
String s, s2 = new String();
while((s = in.readLine()) != null);
s2 += s + "\n";
in.close();
// 1b. reading standard input:
BufferedReader stdin = new BufferedReader(
new InputStreamReader(System.in));
System.out.print("Enter a line:");
System.out.println(stdin.readLine());
// 2. Input from memory:
StringReader in2 = new StringReader(s2);
int c;
while((c = in2.read()) != -1);
System.out.print((char)c);
// 3. format memory input:
try {
DataInputStream in3 = new DataInputStream(
new ByteArrayInputStream(s2.getBytes()));
while(true)
System.out.print((char)in3.readByte());
} catch(EOFException e) {
System.err.println("End of Stream");
}
// 4. file output:
try {
BufferedReader in4 = new BufferedReader(
new StringReader(s2));
PrintWriter out1 = new PrintWriter(
new BufferedWriter(
new FileWriter("IODemo.out")));
int lineCount = 1;
while((s = in4.readLine()) != null)
out1.println(lineCount++ + ": " + s);
out1.close();
} catch(EOFException e) {
System.err.println("End of stream");
}
// 5. storing & recovering data
try {
DataOutputStream out2 = new DataOutputStream(
new BufferedOutputStream(
new FileOutputStream("Data.txt")));
out2.writeDouble(3.14159);
out2.writeChars("that was pi\n");
out2.writeBytes("that was pi\n");
out2.close();
DataInputStream in5 = new DataInputStream(
new BufferedInputStream(
new FileInputStream("Data.txt")));
BufferedReader in5br = new BufferedReader(
new InputStreamReader(in5));
// must use DataInputStream for data:
System.out.println(in5.readDouble());
// can now use the "proper" readLine():
System.out.println(in5br.readLine());
// but the line comes out funny.
// the one created with writeBytes is ok:
System.out.println(in5br.readLine());
}catch(EOFException e) {
System.err.println("end of stream");
}
// 6. reading/writing random access files
RandomAccessFile rf = new RandomAccessFile("rtest.dat","rw");
for(int i = 0; i < 10; i++)
rf.writeDouble(i*1.414);
rf.close();
rf = new RandomAccessFile("rtest.dat","rw");
rf.seek(5*8);
rf.writeDouble(47.0001);
rf.close();
rf = new RandomAccessFile("rtest.dat","rw");
for(int i = 0; i < 10; i++)
System.out.println("Value" + i + ": " + rf.readDouble());
rf.close();
}
}