簡體   English   中英

如何使用Java代碼在Unix服務器中創建文本文件?

[英]how to create a text file in unix server using a java code?

我是Java新手。 我已經完成了一個應用程序,它包含一個配置了日志路徑的屬性文件。 在Windows中工作正常。 這是相同的方法。

                  File file = new File(logPath);
                  file.createNewFile();

實際上,該工具是為第三方開發的,它們正在unix os中運行。 我的問題是,此文件創建將在UNIX平台上運行還是需要為此更改代碼?

是的,沒有。

如果logpath是絕對路徑,則否。 在Windows中,它將包含一個驅動器號,並且* nix OS無法理解這樣的路徑。 例如,這將不起作用:

"C:\log.txt"

如果它不是絕對路徑,而是相對路徑,那么它應該僅在另一個答案狀態下起作用。 例如,這將起作用:

"data\log.txt"

這樣的文件將相對於正在運行的程序工作目錄保存,因此,如果您正在/home/user/在* nix上運行此文件,則將在/home/user/data/log.txt (假設數據文件夾已經存在)。

顯然,此文件會根據您啟動程序時所在的位置而移動。

最好的解決方案是將這些數據保存到用戶的主目錄,這是您提到的所有平台上的常見概念:

String home = System.getProperty("user.home");

File data_directory = new File(home, ".my_app_data");
data_directory.mkdir();

File log_file = new File(data_directory, "jamie.txt");
try {
    log_file.createNewFile();
} catch (IOException e) {
    // handle error
}

您會注意到我正在使用File(string, string)構造函數來構建路徑。 這將使用平台的正確路徑分隔符將單獨的部分連接在一起(即Windows上的\\ ,* nix上的/ )。

根據定義,Java是跨平台的。 編寫一次,編譯一次,到處運行。 您的代碼將在所有Java支持的平台上工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM