V jazyku Java je vytvorenie súboru jednoduché pomocou preddefinovaných tried a balíkov. Existujú tri spôsoby vytvorenia súboru.
Metóda Java File.createNewFile().
The File.createNewFile() je metóda triedy File, ktorá patrí do a java.io balík. Neakceptuje žiadny argument. Metóda automaticky vytvorí nový prázdny súbor. Metóda vracia boolovskú hodnotu:
- true, ak bol súbor úspešne vytvorený.
- false, ak súbor už existuje.
Keď inicializujeme objekt triedy File, poskytneme názov súboru a potom môžeme zavolať metódu createNewFile() triedy File na vytvorenie nového súboru v jazyku Java.
Metóda File.createNewFile() vyvolá výnimku java.io.IOException, ak sa vyskytla chyba I/O. Vyhodí aj SecurityException, ak existuje bezpečnostný manažér a jeho metóda SecurityManager.checkWriter(java.lang.String) zakazuje prístup k súboru. Podpis metódy je:
public boolean createNewFile() throws IOException
Názov súboru alebo absolútnu cestu alebo relatívnu cestu môžeme odovzdať ako argument v objekte triedy File. V prípade neabsolútnej cesty sa objekt File pokúsi nájsť súbor v aktuálnom adresári.
Príklad
Nasledujúci príklad vytvorí nový prázdny textový súbor. Prvé spustenie úspešne vytvorí súbor music.txt, zatiaľ čo pri druhom spustení zlyhalo. Môžeme vytvoriť akýkoľvek typ súboru iba zmenou prípony súboru.
import java.io.File; import java.io.IOException; public class CreateFileExample1 { public static void main(String[] args) { File file = new File('C:\demo\music.txt'); //initialize File object and passing path as argument boolean result; try { result = file.createNewFile(); //creates a new file if(result) // test if successfully created a new file { System.out.println('file created '+file.getCanonicalPath()); //returns the path string } else { System.out.println('File already exist at location: '+file.getCanonicalPath()); } } catch (IOException e) { e.printStackTrace(); //prints exception if any } } }
Výkon
Keď súbor neexistuje.
Keď súbor už existuje.
Java FileOutputStream
Výstupný prúd súboru zapisuje údaje do súboru. Trieda Java FileOutputStream tiež poskytuje podporu pre súbory. Patrí do balíka java.io. Ukladá dáta do bajtov. Triedu FileOutputStream používame vtedy, keď potrebujeme do vytvoreného súboru zapísať nejaké dáta. Trieda FileOutputStream poskytuje konštruktor na vytvorenie súboru. Podpis konštruktora je:
public FileOutputStream(String name, boolean append) throws FileNotFoundException
Parametre
názov: je názov súboru
pripojiť: ak je pravda, bajt sa zapíše na koniec súboru, nie na začiatok.
java miešanie do int
Príklad
V nasledujúcom príklade sme vytvorili súbor pomocou FileOutputStream.
import java.io.FileOutputStream; import java.util.Scanner; public class CreateFileExample { public static void main(String args[]) { try { Scanner sc=new Scanner(System.in); //object of Scanner class System.out.print('Enter the file name: '); String name=sc.nextLine(); //variable name to store the file name FileOutputStream fos=new FileOutputStream(name, true); // true for append mode System.out.print('Enter file content: '); String str=sc.nextLine()+' '; //str stores the string which we have entered byte[] b= str.getBytes(); //converts string into bytes fos.write(b); //writes bytes into file fos.close(); //close the file System.out.println('file saved.'); } catch(Exception e) { e.printStackTrace(); } } }
Výkon
Metóda Java File.createFile().
File.createFile() je metóda triedy File, do ktorej patrí java.nio.file balík. Poskytuje tiež podporu pre súbory. Balík nio je orientovaný na vyrovnávaciu pamäť. Metóda createFile() sa používa aj na vytvorenie nového prázdneho súboru. Pri použití tejto metódy nemusíme zatvárať zdroje. Je to výhoda. Podpis metódy je:
public static Path createFile(Path, Attribute) throws IOException
cesta: Cesta k súboru.
atribút: Voliteľný zoznam atribútov súboru.
Metóda vráti súbor.
Nasledujúci príklad tiež vytvorí nový prázdny súbor. Inštanciu Path vytvoríme pomocou statickej metódy v triede Paths (java.nio.file.Paths) s názvom Paths.get(). Všimnite si nasledujúce vyhlásenie:
Cesta cesta = Paths.get('C:\demo\javaprogram.txt');
Vo vyššie uvedenom riadku Path je rozhranie a Paths je trieda. Obe patria do rovnakého balíka. Metóda Paths.get() vytvorí inštanciu cesty.
import java.io.IOException; import java.nio.file.*; public class CreateFileExample3 { public static void main(String[] args) { Path path = Paths.get('C:\demo\javaprogram.txt'); //creates Path instance try { Path p= Files.createFile(path); //creates file at specified location System.out.println('File Created at Path: '+p); } catch (IOException e) { e.printStackTrace(); } } }
Výkon