java - 如何确定使用 PrintWriter 打开文件的正确路径?
问题描述
创建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的正确路径是什么?
解决方案
解决方案 #1(推荐用于小文件,但您也可以在其他计算机中找到文件):如何从资源文件夹加载文件?
解决方案#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 操作系统)。
推荐阅读
- java - 不熟悉的 Java 语法
- ios - 一个视图控制器上的两个 CollectionView
- python - 如何删除仅包含其值的变量
- matplotlib - 如何使用matplotlib在3D图中绘制穿过原点的轴
- oracle - REP-501:无法连接到指定的数据库。
- ant - 使用 Apache Ant 删除除最近的 3 个目录之外的所有目录
- c# - 在 ASP.NET MVC 5 中添加不带参数的属性路由
- r - 将整数转换为R中的日期和时间
- ionic3 - 如果没有来自 Firestore 的数据,我该如何写东西?
- ecmascript-6 - 在新对象中获取具有对象值的特定键