21xrx.com
2025-03-17 14:25:20 Monday
文章检索 我的文章 写文章
Java指定相对路径读取文件
2023-07-09 19:30:32 深夜i     14     0
Java 相对路径 读取文件

Java是一种典型的编程语言,被广泛运用于开发各种软件和应用程序,其中读取文件是很常用的功能之一。在Java中,我们可以指定文件路径来读取文件,而相对路径是其中比较实用的路径之一。本文将介绍如何使用Java指定相对路径来读取文件。

相对路径是相对于当前工作目录的路径。当前工作目录是指Java程序所在的文件夹,也就是执行程序时的“当前目录”。因此,使用相对路径读取文件时需要非常注意当前工作目录的位置。

下面是一些常用的相对路径:

1. “.” 代表当前目录,即Java程序文件所在目录。

2. “..” 代表上级目录,即Java程序文件所在目录的上级目录。

3. “/” 代表根目录或当前工作目录的根目录。

例如,我们在程序中要读取文件test.txt,该文件在程序所在目录的子目录data中,我们可以使用如下代码指定相对路径:

String filePath = "./data/test.txt";

这样Java程序就会在当前目录的data子目录下查找test.txt文件,并读取其内容。需要注意的是,“./”表示当前目录,“/”表示根目录路径。

如果要读取test.txt文件所在目录的上级目录的文件,我们可以使用如下代码:

String filePath = "../test.txt";

这样Java程序就会在当前目录的上级目录下查找test.txt文件,并读取其内容。

另外,在指定相对路径时,我们也可以使用File类的getCanonicalPath()方法来获取当前工作目录的绝对路径,以避免因为当前工作目录的位置改变而导致读取文件失败的问题。完整代码如下:

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class ReadFileUsingRelativePath {
  public static void main(String[] args) throws IOException {
    //获取当前工作目录的绝对路径
    String currentDir = new File(".").getCanonicalPath();
    //指定文件相对路径
    String filePath = "./data/test.txt";
    String fullFilePath = currentDir + "/" + filePath;
    File file = new File(fullFilePath);
    BufferedReader reader = new BufferedReader(new FileReader(file));
    String line = reader.readLine();
    while(line != null) {
      System.out.println(line);
      line = reader.readLine();
    }
    reader.close();
  }
}

以上就是如何使用Java指定相对路径来读取文件的方法,需要注意的是,在指定相对路径时需要非常注意当前工作目录的位置。

  
  

评论区