21xrx.com
2024-11-05 18:34:18 Tuesday
登录
文章检索 我的文章 写文章
Java指定相对路径读取文件
2023-07-09 19:30:32 深夜i     --     --
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指定相对路径来读取文件的方法,需要注意的是,在指定相对路径时需要非常注意当前工作目录的位置。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复