这段代码出了点问题

时间:2013-03-18 03:00:22

标签: java

我的家庭作业说“编写一个程序来读取文件并将文件的副本写入另一个插入行号的文件”我有这个代码,但有些不对劲,有人可以帮忙吗?提前谢谢

演出文件:

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

class ShowFile {

public static void main(final String args[])

throws IOException

{
    int i;

    FileInputStream fin;

    try {

        fin = new FileInputStream(args[0]);

    } catch (final FileNotFoundException e) {

        System.out.println("File Not Found");

        return;

    } catch (final ArrayIndexOutOfBoundsException e) {

        System.out.println("Usage: ShowFile File");

        return;
    }

    do {

        i = fin.read();

        if (i != -1)
            System.out.print((char) i);

    } while (i != -1);

    fin.close();

}
}

的CopyFile:

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

class CopyFile {

public static void main(final String args[])

throws IOException

{
    int i;

    FileInputStream fin;

    FileOutputStream fout;

    try {

        // open input file

        try {

            fin = new FileInputStream(args[0]);

        } catch (final FileNotFoundException e) {

            System.out.println("Input File Not Found");

            return;

        }

        // open output file

        try {

            fout = new FileOutputStream(args[1]);

        } catch (final FileNotFoundException e) {

            System.out.println("Error Opening Output File");

            return;

        }
    } catch (final ArrayIndexOutOfBoundsException e) {

        System.out.println("Usage: CopyFile From To");

        return;

    }

    // Copy File

    try {

        do {

            i = fin.read();

            if (i != -1)
                fout.write(i);

        } while (i != -1);

    } catch (final IOException e) {

        System.out.println("File Error");

    }

    fin.close();

    fout.close();

}
}

这是错误信息 -

 Exception in thread "main" java.lang.NoClassDefFoundError: C 
   Caused by: java.lang.ClassNotFoundException: C 
   at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
   at java.security.AccessController.doPrivileged(Native Method) 
   at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
   at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
   at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

3 个答案:

答案 0 :(得分:0)

这个怎么样......

BufferedReader reader = new BufferedReader(new FileReader("infile"));
BufferedWriter writer = new BufferedWriter(new FileWriter("outfile"));
String line;
int lineNumber = 0;
while((line = reader.readLine()) != null) {
    writer.write(++lineNumber + " " + line);
    writer.newLine();
}
writer.close();
reader.close();

答案 1 :(得分:0)

我认为问题必然在于您运行程序的方式。异常似乎是说它找不到一个名为“C”的类。

我的猜测是你提供了要作为路径名而不是类名执行的类的名称。请仔细阅读java命令的手册页。

答案 2 :(得分:0)

您的代码没有问题。 我想你只是错误的说法。

假设您的驱动器中有readme.txt, 你必须这样运行:

java ShowFile "C:\readme.txt"