首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法设置文件的正确路径

无法设置文件的正确路径
EN

Stack Overflow用户
提问于 2019-03-28 08:05:23
回答 2查看 77关注 0票数 0

我已经尝试了几种方法来使用Path实现文件的正确路径,但到目前为止还没有成功。我正在试着写/重写这个文件。

在代码片段中,我将显示到目前为止我已经尝试过的内容,但我似乎无法找到正确的路径。下面是我的包的层次结构示例

代码语言:javascript
运行
复制
src
├── information
│   └── destination
│       └── (empty)
└── classpackage
    └── MyClass.java

我试图保持相对于项目本身的路径,这样任何人都可以编译它,并在项目包层次结构中的正确位置创建文件,无论他们将src文件夹放在哪里。

这是在MyClass.java内部

代码语言:javascript
运行
复制
private static final File FILE = new File("/src/information/destination", "data.set");

ObjectInputStream in = new ObjectInputStream(new FileInputStream(FILE.getAbsolutePath())); //doesn't work

ObjectInputStream in = new ObjectInputStream(new FileInputStream(FILE)); //doesn't work

ObjectInputStream in = new ObjectInputStream(new FileInputStream(FILE.getAbsoluteFile())); //doesn't work
EN

回答 2

Stack Overflow用户

发布于 2019-03-28 09:20:30

您需要获取绝对路径,并使用它来引用您想要的文件。Java提供了FileSystem帮助。获取绝对路径后,添加您的文件的文件路径。

代码语言:javascript
运行
复制
import java.io.ObjectInputStream;
import java.io.File;
import java.io.BufferedReader;
import java.io.FileReader;
import java.nio.file.FileSystems;

class FileRead {
  public static void main(String[] args) {
    try {
        String filePath =
        FileSystems.getDefault().getPath(".").
        toAbsolutePath()+"/Practice/Stack";
        File file = new File(filePath,"test.txt");
        BufferedReader br = new BufferedReader(new FileReader(file));
        String st; 
        while ((st = br.readLine()) != null) {
            System.out.println(st); 
        }
    } catch (Exception e) {
        // TODO: handle exception
        System.out.println(e.getMessage());
    }finally{}
  }
}
票数 0
EN

Stack Overflow用户

发布于 2019-03-28 09:39:50

您可以简单地将路径更改为。源/信息/目标

和文件路径,如

解决方案:

代码语言:javascript
运行
复制
package classpackge;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.ObjectInputStream;

public class MyClass {
    private static final File FILE = new File("src/information/destination", "data.set");

    public static void main(String[] args) throws FileNotFoundException, IOException {
        FileInputStream in =new FileInputStream(FILE.getAbsolutePath()); //doesn't work
in.close();
        //ObjectInputStream in = new ObjectInputStream(new FileInputStream(FILE)); //doesn't work

        //ObjectInputStream in = new ObjectInputStream(new FileInputStream(FILE.getAbsoluteFile())); //doesn't work
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55388295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档