在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何使用正確的文件和路徑分隔符

科技綠洲 ? 來源:Java技術指北 ? 作者:Java技術指北 ? 2023-10-08 16:19 ? 次閱讀

不同的操作系統使用不同的字符作為文件和路徑分隔符。當我們的應用程序需要在多個平臺上運行時,我們需要正確處理這些問題。

Java幫助我們選擇一個合適的分隔符,并提供了一些函數來幫助我們創建能在主機操作系統上運行的路徑。

在本文中,我們將了解如何編寫代碼來使用正確的文件和路徑分隔符。

2.文件分隔符

文件分隔符是用來分隔構成特定位置路徑的目錄名的字符。

1.獲取文件分隔符

在Java中,有幾種方法可以獲得文件分隔符。

我們可以用File.separator來獲取String的分隔符。

String fileSeparator = File.separator;

我們也可以用File.separatorChar獲得這個分隔符的字符。

char fileSeparatorChar = File.separatorChar;

從Java 7開始,我們也可以使用 文件系統

String fileSeparator = FileSystems.getDefault().getSeparator();

輸出結果將取決于主機操作系統。文件分隔符在Windows上為,在macOS和基于Unix的操作系統上為/

2.構造一個文件路徑

Java提供了一些方法來從目錄列表中構建文件路徑。

這里,我們使用Paths類。

Path path = Paths.get("dir1", "dir2");

讓我們在Microsoft Windows上測試一下。

assertEquals("dir1dir2", path.toString());

同樣,我們也可以在Linux或Mac上測試它。

assertEquals("dir1/dir2", path.toString());

我們也可以使用文件類。

File file = new File("file1", "file2");

讓我們在Microsoft Windows上測試一下。

assertEquals("file1ile2", file.toString());

同樣,我們也可以在Linux或Mac上測試它。

assertEquals("file1/file2", file.toString());

正如我們所看到的,我們可以只提供路徑字符串來構建一個文件路徑---我們不需要明確地包括一個文件分隔符。

3.路徑分隔符

路徑分隔符是操作系統常用的一個字符,用于分隔路徑列表中的各個路徑。

3.1.獲取路徑分隔符

我們可以用File.pathSeparator來獲取路徑分隔符的 String

String pathSeparator = File.pathSeparator;

我們也可以以char的形式獲得路徑分隔符。

char pathSeparatorChar = File.pathSeparatorChar;

這兩個例子都返回了路徑分隔符。在Windows上是分號;,在Mac和基于Unix的操作系統上是冒號:

3.2.構造一個文件路徑

我們可以用分隔符作為分隔符來構建一個String的文件路徑。

讓我們試試String.join方法:

String[] pathNames = { "path1", "path2", "path3" };
String path = String.join(File.pathSeparator, pathNames);

這里我們在Windows上測試我們的代碼。

assertEquals("path1;path2;path3", path);

而文件路徑在Linux或Mac上看起來會有所不同。

assertEquals("path1:path2:path3", path);

類似地,我們可以使用StringJoiner類:

public static StringJoiner buildPathUsingStringJoiner(String path1, String path2) {
    StringJoiner joiner = new StringJoiner(File.pathSeparator);
    joiner.add(path1);
    joiner.add(path2);
    return joiner;
}

讓我們在Microsoft Windows上測試我們的代碼。

assertEquals("path1;path2", buildPathUsingStringJoiner("path1", "path2"));

而且它在Mac或Unix上的表現會有所不同。

assertEquals("path1:path2", buildPathUsingStringJoiner("path1", "path2"));

總結

在這篇短文中,我們學習了如何使用系統特定的文件分隔符來構建路徑,這樣我們的代碼就可以在多個操作系統上工作。

我們看到了如何使用內置類PathFile來構造文件路徑,我們還看到了如何獲得必要的分隔符來使用String連接工具。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 文件
    +關注

    關注

    1

    文章

    566

    瀏覽量

    24746
  • 函數
    +關注

    關注

    3

    文章

    4331

    瀏覽量

    62622
  • 代碼
    +關注

    關注

    30

    文章

    4788

    瀏覽量

    68617
  • 應用程序
    +關注

    關注

    37

    文章

    3268

    瀏覽量

    57710
收藏 人收藏

    評論

    相關推薦

    c語言讀寫表格(csv)文件 讀取csv文件示例

    ,不含必須像二進制數字那樣被解讀的數據。CSV文件由任意數目的記錄組成,記錄間以某種換行分隔;每條記錄由字段組成,字段間的分隔符是其它字符或字符串,最常見的是逗號或制表
    的頭像 發表于 06-08 09:22 ?6560次閱讀
    c語言讀寫表格(csv)<b class='flag-5'>文件</b>  讀取csv<b class='flag-5'>文件</b>示例

    JAVA語言的標識、注釋和分隔符

    JAVA語言的標識、注釋和分隔符 3.2.1 標識程序中要用到許多名字,諸如類、屬性、方法的名字。標識就是用來標記它們的名字。Java標識
    發表于 12-06 00:21

    怎么按分隔符來解析字符串

    字符串里的內容是1,2,3,4我想按分隔符來解析它解析結果是
    發表于 03-19 10:33

    路徑問題

    :文件未找到。文件可能被移動或刪除,或文件路徑的格式可能不符合操作系統。例如,在Windows、Mac OS X和Linux中分別使用“\”、“:”和“/”作為
    發表于 06-27 10:05

    串口連接中怎么設置分隔符

    串口配置中有波特率等等,但是沒有分隔符,但是我需要設置分隔符,我需要怎么做?
    發表于 07-23 09:41

    急求,電子文件表格讀取的分隔符能不能設成單個或者多個空格這個條件?

    新手有幾個問題想請教1.大量數據讀取,電子文件表格讀取和文本文件讀取哪一個效率高?2.電子表格文件讀取 其中的分隔符 能不能設置成 單個或者多個空格這個條件?
    發表于 08-06 18:34

    Labview中寫入帶分隔符的電子表格輸入帶E的字符串,格式會轉換成數字

    `Labview中寫入帶分隔符的電子表格輸入帶數字后帶E的字符串,格式會轉換成數字。EXCLE中我設置成文本顯示也是一樣,我是想輸入字符串198E5,EXCLE中顯示的就是198E5,求指教,感謝!`
    發表于 09-21 15:11

    Virtex 5中分隔符的實例化

    這封郵件是關于Virtex 5中分隔符的實例化.Virtex 5中沒有用于分割的Coregen組件。在VrtE 5 ISE項目中實例化了Virtex 4 Coregen分頻器。我使用的是ISE版本
    發表于 09-28 11:35

    LabVIEW2018 連續寫入文件(帶分隔符

    此示例演示如何將數據連續寫入文件。vi每秒生成一個0至100的隨機數,直到停止vi。波形圖顯示隨機數和用戶定義的限制。如果隨機數超過限制,超過限定燈亮起。生成每個數字后,條目、日期、時間(包括秒)、數字和一條描述數字是“低于”還是“超過”預設限制的單字消息將以(制表
    發表于 06-14 16:05

    E4438C波形下載出現“-103,無效分隔符

    大家好,我一直在嘗試通過局域網將IQ數據下載到E4438C,但我得到了“-103,無效分隔符”Eror。我找不到代碼中的錯誤。任何幫助,將不勝感激。我附上了我的代碼.RegardsCengiz
    發表于 07-29 09:38

    為什么使用讀取帶分隔符電子表格VI 讀取excel文件,圖像不太對呢?

    我想讀取excel表格,然后將這個數據輸出至波形圖, 用的是讀取帶分隔符電子表格VI , 請問為什么結果卻是這樣,這個具體怎么改正呢,跪謝!!!!
    發表于 04-19 17:46

    LABVIEW通過串口收到無分隔符號的數據怎么處理

    LABVIEW通過串口收到無分隔符號的數據怎么處理成一維數組。
    發表于 04-21 19:48

    Labview 用寫入帶分隔符電子表格記錄數據被覆蓋

    Labview 用寫入帶分隔符電子表格記錄數據被覆蓋,在網上查資料說要添加“換行”不知道怎么加,請各位大佬給指點下,感謝
    發表于 04-11 15:51

    基于MM32F5270開發板的DAC輸出電壓試用過程

    VCC電壓為:------------------------------分隔符
    發表于 09-05 16:22

    不同的系統中路徑分隔符分析

    在不同的系統中,路徑分隔符不同,故需要做出判斷,并切換分隔符; String類中replaceAll方法如下: String.replaceAll(String regex,String
    的頭像 發表于 12-07 17:11 ?4291次閱讀
    主站蜘蛛池模板: 色惰网站| 69老司机亚洲精品一区| 欧美成人性高清观看| 俄罗斯久久| 欧美成人 一区二区三区| 亚洲夜夜骑| 日本xxxx18vr69| 亚洲jizzjizz在线播放久| 美女被免费视频网站九色| 天天骑天天射| 视频一区二区免费| 日本精高清区一| 午夜在线观看视频| 亚洲一区二区三区四区在线观看| 搜索黄色毛片| 综合色综合| h小视频在线观看| 日韩欧美亚洲综合一区二区| 亚洲色图22p| 日本一区二区三区不卡在线视频| 日本免费a级片| 手机免费看大片| www.亚洲日本| 狠狠色噜狠狠狠狠色综合久| 国产视频久| 五月天色婷婷丁香| 最近最新中文字幕6页| 91亚洲免费视频| 欧美日韩精品一区二区在线线| 天天干天天拍天天操| 黄网站免费视频| 国产综合色精品一区二区三区| 国产福利久久| 色综合天天综合网国产国产人| 亚洲日本中文字幕天天更新| 婷婷在线网| 国内自拍 亚洲系列 欧美系列| www.天天射.com| 色www视频永久免费软件| 手机看片免费永久在线观看| 资源在线www天堂|