是否可以从IDE(例如NetBeans或Eclipse)编写可以从命令行编译并在用户输入要在要运行的Java类程序名称之后输入两个参数的情况下运行的程序?

如果是这样,可以将绝对路径作为参数之一传入吗?

如果是这样(如果源文件或目标文件具有多字描述符,例如Big Sky File.txt),如何将其作为参数传递?

我知道这是很多问题,但是我进行了高低搜寻,似乎没有什么比这些话题更容易被触及。

@ Code-Guru,@ thkala,这是我正在尝试的代码(花一些时间格式化):

编辑:@ Code-Guru,我添加了有问题的行(不确定我是如何错过的)。

下一个编辑:@ Code-Guru,这是CopyFile.java中更新的文件内容,以及由此产生的错误消息:

import java.io.*;

public class CopyFile
{
 public static void main(String args[]) throws IOException, NullPointerException
{
int num;
FileInputStream fileIn;
FileOutputStream fileOut;
try
{
  // open input file
  try
  {
    fileIn = new FileInputStream(args[0]);
  }

  catch(FileNotFoundException e)
  {
  System.out.println("Input File Not Found.");
  return;
  }

  // open output file
  try
  {
    fileOut = new FileOutputStream(args[1]);
  }

  catch(FileNotFoundException e)
  {
    System.out.println("Error Opening Output File.");
    return;
  }

}

catch(ArrayIndexOutOfBoundsException e)
{
  System.out.println("Incorrect argument use:java CopyFile Source Destination");
  return;
}

// Copy File
try
{
  do
  {
    num = fileIn.read();
    if(num != -1)
    {
      fileOut.write(num);
    }
  }

  while(num != -1);
}

catch(IOException e)
{
  System.out.println("File Error: Could not copy file.");
}
fileIn.close();
fileOut.close();
}
}


这是我从命令提示符处收到的错误消息:


  错误:找不到或加载主类CopyFile

最佳答案

答案在于错误消息的这一部分:

(wrong name: copyfile/CopyFile)


即,您的班级的全限定名是copyfile.CopyFile。 Java要求程序包布局与磁盘上的文件夹布局匹配,以便知道如何查找内容。

因此,您的类文件必须位于名为copyfile的子文件夹中,然后作为java copyfile.CopyFile调用,或者您可以通过从代码中删除package copyfile;声明,在未命名的默认包中编译您的类(您未显示)那条线,但必须在那儿)。

更多信息:http://www.jarticles.com/package/package_eng.html

10-08 01:54