windows和linux之间的java语法文件差异

windows和linux之间的java语法文件差异,java,linux,eclipse,file,tomcat,Java,Linux,Eclipse,File,Tomcat,我正在尝试在linux中访问一个文件。我以前从Windows读取过该文件。我做了这样的事情: import java.io.File; public static File readFile = new File("D:\\test.w3"); 这可能是一个非常愚蠢的问题,但如何访问主目录或子文件夹中的同一文件? public static File readFile = new File("//home//test.w3"); 我正在从ApacheTomcat 9.0.6获取旧的404

我正在尝试在linux中访问一个文件。我以前从Windows读取过该文件。我做了这样的事情:

import java.io.File;

public static File readFile = new File("D:\\test.w3");
这可能是一个非常愚蠢的问题,但如何访问主目录或子文件夹中的同一文件?

public static File readFile = new File("//home//test.w3");
我正在从ApacheTomcat 9.0.6获取旧的404 说明源服务器找不到目标资源的当前表示形式,或者不愿意透露存在该表示形式

我可能已经找到了主要问题。
但我不知道如何解决它。
在eclipse中,当选择正确的服务器时,由于我似乎运行了错误的服务器,我得到以下错误:

你知道从哪里开始旅程吗?

就像Eclipse保留了这些端口,然后拒绝透露其余的端口一样。我试图更改端口名,但在新端口上出现了相同的错误。

好消息是,
文件
构造函数有一个表单可以提供帮助。还有一个映射到家庭的
System.property
(跨平台工作)

还值得注意的是,您可以在*nix和Windows系统上使用
/
作为路径分隔符。如果您想手动构建路径,还可以使用

String path = java.nio.file.FileSystems.getDefault().getPath("").toAbsolutePath().toString(); // If the path is similar with project location, else replace with your path.
String fileName = "test.w3";

public static File readFile = new File(path + "/" + fileName);

Linux
上,您应该使用
/
而不是
Windows

中的
\
为什么要使用双斜杠?我的一本旧java书籍对Windows语法使用双斜杠。假设在linux中也是一样的。尝试使用单斜杠,但没有任何区别。字符串文字中的反斜杠“…”必须加倍、转义,因为反斜杠用于转义序列,
\n
是换行符等等。所以如果我想把它放在/opt/我有tomcat的地方,那会是什么样子?只是想弄清楚它在Linux中是如何工作的…@rageext你说的是home,但是
File tc=new File(“/opt/apache tomcat whatever”)
然后,如果您想要该文件的某个子文件夹,
filetcbin=newfile(tc,“bin”)等-在Windows中的工作方式相同。Windows添加驱动器号。但是Java在Windows上支持*nix样式的路径。我仍然无法使用我收到的所有解决方案。说明源服务器找不到目标资源的当前表示形式,或者不愿意透露存在该表示形式。这可能是我在linux中忽略的某种设置。使用Centos.Origin服务器?编辑您的问题并包括
装载的输出。确切地说,您要访问的路径是什么?你说的是主文件夹,你说的是“/opt”下的内容。您应该能够访问自己的主文件夹下的任何内容。如果它在其他地方,那么您可能没有权限(有文件权限)查看它。通常,tomcat下的webapps文件夹是运行所有页面的地方,我认为eclipse已经将其设置为在主文件夹下的eclipse工作区中运行。我只想从任何地方访问该文件。只是有关此解决方案的后续问题。文件系统在哪个库中?您可以在
java.nio.file.FileSystems
中找到。我更新了答案,我的遗漏。
String path = java.nio.file.FileSystems.getDefault().getPath("").toAbsolutePath().toString(); // If the path is similar with project location, else replace with your path.
String fileName = "test.w3";

public static File readFile = new File(path + "/" + fileName);