是否可以从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