日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java io 文件路径_【IO流】java中文件路径(相对路径、绝对路径)相关类及方法...

發布時間:2025/3/12 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java io 文件路径_【IO流】java中文件路径(相对路径、绝对路径)相关类及方法... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. URL

菜鳥教程:Java URL處理 通常推薦對http等協議進行使用,若操作(file:)部分屬性將無意義,建議getFile()。

相關:URLConnections 類 可以打開連接進行IO

通過getResource方法可以獲得相對于classPath的文件的URL

2. File

@Test

void test7() throws IOException {

String dirname = "./file.txt";

File f1 = new File(dirname);

if (f1.isDirectory()) {

System.out.println(dirname + " is a directory");

} else {

System.out.println(dirname + " is not a directory");

}

System.out.println("CanonicalPath:" + f1.getCanonicalPath());

System.out.println("AbsolutePath :" + f1.getAbsolutePath());

System.out.println("Path :" + f1.getPath());

}

"./file.txt" :輸出結果

./file.txt is not a directory CanonicalPath:E:\a\MyFilesNoCh\JAVA\eclipse-jee-2018-09-win32-x86_64-Spring-Hibernate\ClassPathTest\file.txt AbsolutePath :E:\a\MyFilesNoCh\JAVA\eclipse-jee-2018-09-win32-x86_64-Spring-Hibernate\ClassPathTest.\file.txt Path :.\file.txt

"/file.txt" :輸出結果

/file.txt is not a directory CanonicalPath:E:\file.txt AbsolutePath :E:\file.txt Path :\file.txt

"file.txt" :輸出結果

file.txt is not a directory CanonicalPath:E:\a\MyFilesNoCh\JAVA\eclipse-jee-2018-09-win32-x86_64-Spring-Hibernate\ClassPathTest\file.txt AbsolutePath :E:\a\MyFilesNoCh\JAVA\eclipse-jee-2018-09-win32-x86_64-Spring-Hibernate\ClassPathTest\file.txt Path :file.txt

結論

CanonicalPath返回全路徑,但不會包含../.等符號

AbsolutePath返回全路徑,會包含../.等符號

使用/開頭,會從磁盤根目錄開始索引

不使用/開頭,會從eclipse項目根目錄開始索引

getPath返回的是對象創建是的路徑參數

3. Path

Java7中文件IO發生了很大的變化,專門引入了很多新的類:

import java.nio.file.DirectoryStream; import java.nio.file.FileSystem; import java.nio.file.FileSystems; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.attribute.FileAttribute; import java.nio.file.attribute.PosixFilePermission; import java.nio.file.attribute.PosixFilePermissions;

其中Path在功能上可以說和原來的File相似,包含了各種路徑處理操作,而新的File及其相關類Files可以說是包含了絕大多數的文件操作方法,比如創建、復制、遍歷、重命名、權限、可否執行等。。。也可以直接獲取流對象。

[二] JavaIO之File詳解 以及FileSystem WinNTFileSystem簡介 java Files類和Paths類的用法 (轉)

URI和URL都定義了資源是什么,但URL還定義了該如何訪問資源。URL是一種具體的URI,它是URI的一個子集,它不僅唯一標識資源,而且還提供了定位該資源的信息。URI 是一種語義上的抽象概念,可以是絕對的,也可以是相對的,而URL則必須提供足夠的信息來定位,是絕對的。

FileSystem到底是什么?

操作系統有各自的文件系統,這些文件系統又存在很多差異,而Java 因為是跨平臺的,所以它必須要統一處理這些不同平臺文件系統之間的差異,才能往上提供統一的入口。

說白了又是接口來實現統一,不同的操作系統實現這個接口,就可以提供統一的表現形式

FileSystem是一個抽象類 ,

windows下的實現類為:WinNTFileSystem,在IDE中可以直接找到

可能你只是找到了一個WinNTFileSystem,只有一個要接口還有什么意思?

如果你目前只看到了一個WinNTFileSystem 那說明你在Windows下

WinNTFileSystem類 和 UnixFileSystem類并不是在同一個 JDK 里面,也就是說它們是分開的

你只能在 Windows 版本的 JDK 中找到 WinNTFileSystem,而在 Linux 版本的 JDK 中找到 UnixFileSystem

同樣地,其他操作系統也有自己的文件系統實現類。

總結

以上是生活随笔為你收集整理的java io 文件路径_【IO流】java中文件路径(相对路径、绝对路径)相关类及方法...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。