即使路径正确,也无法获取路径

  • 本文关键字:路径 获取 java file path
  • 更新时间 :
  • 英文 :


我正在尝试获取我的文件路径,以确保它是相同的。我甚至使用了一个函数来返回文件的路径,尽管文件的路径是正确的,但它永远不会起作用。我试图删除.txt,只使用文件名(因为它与此类在同一个包上(,但似乎什么都不起作用。

这是代码:

StringBuilder contentBuilder = new StringBuilder();
try 
{
String filetest="text.txt";
Path pathToFile = Paths.get(filetest);
String name = pathToFile.toAbsolutePath().toString();
System.out.println("Path name: " + name);
Stream<String> stream = Files.lines( Paths.get(name), StandardCharsets.UTF_8);
stream.forEach(s -> contentBuilder.append(s).append("n"));
String filename = contentBuilder.toString();
System.out.println(filename);
}
catch (IOException e) 
{
e.printStackTrace();
System.out.println("Error: " + e);
}

输出

Path name: C:UsersDiaseclipse-workspacepdstext.txt
java.nio.file.NoSuchFileException: C:UsersDiaseclipse-workspacepdstext.txt
at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:79)
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102)
at sun.nio.fs.WindowsFileSystemProvider.newByteChannel(WindowsFileSystemProvider.java:230)
at java.nio.file.Files.newByteChannel(Files.java:361)
at java.nio.file.Files.newByteChannel(Files.java:407)
at java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:384)
at java.nio.file.Files.newInputStream(Files.java:152)
at java.nio.file.Files.newBufferedReader(Files.java:2784)
at java.nio.file.Files.lines(Files.java:3744)
at lab7.Client.main(Client.java:23)
Error: java.nio.file.NoSuchFileException: C:UsersDiaseclipse-workspacepdstext.txt

如果这是预期的路径

C:UsersDiaseclipse-workspacepdstext.txt

那么解释肯定是该文件不存在。

如果这不是预期的路径,那么解释是你需要:

  1. 在程序或中正确编码路径

  2. 更改您当前的工作目录

'toAbsolutePath'不会四处查找文件,因此它知道绝对路径;相反,它会看到您指定的路径是相对的,并在其前面加上当前的workig目录。

相关内容

  • 没有找到相关文章

最新更新