更新時間:2022-10-17 11:03:06 來源:動力節點 瀏覽8438次
在 Java 中,使用預定義的類和包可以輕松創建文件。有三種方法可以創建文件。
使用 File.createNewFile() 方法
使用 FileOutputStream 類
使用 File.createFile() 方法
File.createNewFile()是屬于java.io包的 File 類的一個方法。它不接受任何論據。該方法會自動創建一個新的空文件。該方法返回一個布爾值:
如果文件創建成功,則為 true。
false,如果文件已經存在。
當我們初始化 File 類對象時,我們提供文件名,然后我們可以調用 File 類的 createNewFile() 方法在 Java 中創建一個新文件。
如果發生 I/O 錯誤,File.createNewFile() 方法將拋出 java.io.IOException。如果安全管理器存在并且其 SecurityManager.checkWriter(java.lang.String) 方法拒絕對文件的寫訪問,它也會拋出 SecurityException。該方法的簽名是:
公共布爾 createNewFile() 拋出 IOException
我們可以將文件名或絕對路徑或相對路徑作為參數傳遞給 File 類對象。對于非絕對路徑,File 對象嘗試在當前目錄中定位文件。
例子
以下示例創建一個新的空文本文件。第一次運行成功創建了 music.txt,而第二次運行失敗。我們可以通過僅更改文件擴展名來創建任何類型的文件。
導入 java.io.File;
導入 java.io.IOException;
公共類 CreateFileExample1
{
公共靜態無效 主要(字符串 [] 參數)
{
文件 file = new File( "C:\\demo\\music.txt" ); //初始化文件對象并將路徑作為參數傳遞
布爾 結果;
嘗試
{
結果 = file.createNewFile(); //創建一個新文件
if (result) // 測試是否成功創建了一個新文件
{
System.out.println( "文件創建" +file.getCanonicalPath()); //返回路徑字符串
}
別的
{
System.out.println( "文件已經存在于位置:" +file.getCanonicalPath());
}
}
捕獲 (IOException e)
{
e.printStackTrace(); //如果有異常打印
}
}
}
輸出
當文件不存在時。
當文件已經存在時。
文件輸出流將數據寫入文件。Java FileOutputStream 類也提供對文件的支持。它屬于 java.io 包。它將數據存儲為字節。當我們需要將一些數據寫入創建的文件時,我們使用 FileOutputStream 類。FileOutputStream 類提供了一個構造函數來創建文件。構造函數的簽名是:
公共 FileOutputStream(字符串名稱, 布爾 附加) 拋出 FileNotFoundException
參數
name:是文件名
append:如果為真,字節將被寫入文件的末尾,而不是開頭。
例子
在以下示例中,我們使用 FileOutputStream 創建了一個文件。
導入 java.io.FileOutputStream;
導入 java.util.Scanner;
公共類 CreateFileExample
{
公共靜態無效 主(字符串參數 [])
{
嘗試
{
掃描儀 sc=新的 掃描儀(System.in); //Scanner 類的對象
System.out.print( "請輸入文件名:" );
字符串名稱=sc.nextLine(); //存放文件名的變量名
FileOutputStream fos= new FileOutputStream(name, true ); // true 附加模式
System.out.print( "輸入文件內容:" );
字符串 str=sc.nextLine()+ "\n" ; //str 存儲我們輸入的字符串
字節[] b= str.getBytes(); //將字符串轉換為字節
fos.write(b); //將字節寫入文件
fos.close(); //關閉文件
System.out.println( "文件已保存。" );
}
捕獲(異常 e)
{
e.printStackTrace();
}
}
}
輸出
File.createFile() 是屬于java.nio.file包的 File 類的一個方法。它還提供對文件的支持。nio 包是面向緩沖區的。createFile() 方法也用于創建一個新的空文件。使用此方法時,我們不需要關閉資源。這是一個優勢。該方法的簽名是:
公共靜態 路徑 createFile(Path, Attribute) 拋出 IOException
路徑:文件的路徑。
屬性:文件屬性的可選列表。
該方法返回文件。
以下示例還創建了一個新的空文件。我們使用 Paths 類 (java.nio.file.Paths) 中名為 Paths.get() 的靜態方法創建一個 Path 實例。請注意以下聲明:
路徑 path = Paths.get("C:\\demo\\javaprogram.txt");
在上面的行中,Path 是一個接口,Paths 是一個類。兩者屬于同一個包。Paths.get() 方法創建路徑實例。
導入 java.io.IOException;
導入 java.nio.file.*;
公共類 CreateFileExample3
{
公共靜態無效 主要(字符串 [] 參數)
{
路徑路徑 = Paths.get( "C:\\demo\\javaprogram.txt" ); //創建路徑實例
嘗試
{
路徑 p= Files.createFile(path); //在指定位置創建文件
System.out.println( "路徑創建的文件:" +p);
}
捕獲 (IOException e)
{
e.printStackTrace();
}
}
}
輸出
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習