Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中从目录中的不同目录导入_Java - Fatal编程技术网

在Java中从目录中的不同目录导入

在Java中从目录中的不同目录导入,java,Java,我有一个目录pj,其中包含两个目录,dirA和TestsTests有一个文件Test.java(pj/Tests/Test.java),它从dirA中的file.java(pj/dirA/file.java)导入。如何指定这样的导入?我尝试在Test.java中导入dirA.*,但失败了dirA是一个包 pj和Tests不是软件包(尽管我可以在必要时制作它们) 在File.java中,语句如下: package dirA; import list.*; 在Test.java中,类头前面的语句如

我有一个目录
pj
,其中包含两个目录,
dirA
Tests
Tests
有一个文件
Test.java
(pj/Tests/Test.java),它从
dirA
中的
file.java
(pj/dirA/file.java)导入。如何指定这样的导入?我尝试在
Test.java中导入dirA.*
,但失败了
dirA
是一个包

pj
Tests
不是软件包(尽管我可以在必要时制作它们)

在File.java中,语句如下:

package dirA;
import list.*;
在Test.java中,类头前面的语句如下

import pj.dirA.File;
当我这样做的时候

javac Test.java 

从内部
测试
,它失败了

将其添加到您的File.java中:

package pj.dirA;
在Test.java中:

package pj.Tests;

import pj.dirA.File;
然后从包含pj文件夹的文件夹中执行javac

注意:我已经解释了如何更改当前设置以使其正常工作。与目录相对应的包名称实际上应该都是小写的


在java中,您不能从任何地方导入目录,只能导入包。例如,如果将其与C/C++进行比较,这是不同的。

请提及File.java中声明的包路径是什么?如果您提到包pj.dirA.File.java,那么您需要在dirA imports pj.*或pj.dirA.Fileimport pj.dirA.File中声明;java没有人知道如何将文件从另一个目录导入到另一个目录中的文件?所以测试必须是一个包?也就是说,在另一个目录中,要从另一个目录导入到某个目录中的文件,导入到的文件必须位于某个目录中?@GeorgeNewton在java中,任何文件中都不会导入内容。这与C/C++不同。您只能使用import语句声明要使用某个包命名空间。实际上,包名称空间也对应于目录,这可能会让人困惑。是的,应该使用包。也可以在根包中指定没有包名的类,但不建议这样做,并且有几个缺点。