如何确定使用PrintWriter打开文件的正确路径?

问题描述 投票:1回答:3

创建PrinterWriter对象时:

PrintWriter outputFile = new PrintWriter(*FileName*);

编译器何时查找FileName?例如,在Eclipse中,我在Arrays / src / ArraysAndFiles.java中工作。在这个例子中,我试图打开Values.txt。我在src目录中创建了这个文件,因为这是存储ArraysAndFiles.java的地方。当我尝试在以下代码中打开文件时,我得到一个FileNotFoundException

import java.io.PrintWriter;

public class ArraysAndFiles {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        PrintWriter outputFile = new PrintWriter("Values.txt");

    }
}

Values.txt的正确途径是什么?

java file printwriter
3个回答
0
投票

解决方案#1(建议用于小文件,但您也可以在其他计算机上找到该文件):How do I load a file from resource folder?

解决方案#2:使用File(String parent, String child)构造函数逐步构建路径。例:

File desktop = new File(System.getProperty("user.home"),"Desktop");
File textsFolder = new File(desktop,"texts");
File testsFolder = new File(textsFolder,"tests");
File peopleTxt = new File(testsFolder,"people,txt");

这等于:C://Users//George//Desktop//texts//tests//people.txt(Windows操作系统)。


-1
投票

按照代码,

PrintWriter outputFile = new PrintWriter("Values.txt");

如果你将你的Values.txt放在当前/项目目录中,即在Arrays文件夹中,它应该可以工作但是有上述注释中提到的限制,比如写入文件是JarFile的一部分。

根据您的目的,您应该采取行动。


-1
投票

在您的示例中,“Values.txt”是相对路径。它与您的工作目录有关。 通常它与JAR文件所在的目录相同。

在Eclipse中,应用程序构建在“bin”文件夹中。在你的情况下,它是Arrays\bin\。所以这是应用程序的工作目录,你的文件必须在那里。

如果希望Eclipse在构建过程中导出此文件,请执行以下操作:

右键单击文件 - >构建路径 - >添加到构建路径

© www.soinside.com 2019 - 2024. All rights reserved.