In Java is het maken van een bestand eenvoudig door vooraf gedefinieerde klassen en pakketten te gebruiken. Er zijn drie manieren om een bestand te maken.
Java-einde
Java File.createNewFile()-methode
De Bestand.createNewFile() is een methode van de File-klasse die behoort tot a java.io pakket. Het aanvaardt geen enkel argument. De methode maakt automatisch een nieuw, leeg bestand aan. De methode retourneert een Booleaanse waarde:
- true, als het bestand met succes is gemaakt.
- false, als het bestand al bestaat.
Wanneer we het File-klasseobject initialiseren, geven we de bestandsnaam op en vervolgens kunnen we de createNewFile() -methode van de File-klasse aanroepen om een nieuw bestand in Java te maken.
De methode File.createNewFile() genereert java.io.IOException als er een I/O-fout is opgetreden. Er wordt ook SecurityException gegenereerd als er een beveiligingsmanager bestaat en de methode SecurityManager.checkWriter(java.lang.String) schrijftoegang tot het bestand weigert. De handtekening van de methode is:
public boolean createNewFile() throws IOException
We kunnen de bestandsnaam, het absolute pad of het relatieve pad doorgeven als argument in het klasseobject File. Voor een niet-absoluut pad probeert het File-object het bestand in de huidige map te lokaliseren.
Voorbeeld
In het volgende voorbeeld wordt een nieuw, leeg tekstbestand gemaakt. De eerste run maakt met succes music.txt, terwijl dit bij de tweede run mislukte. We kunnen elk type bestand maken door alleen de bestandsextensie te wijzigen.
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 } } }
Uitvoer
Wanneer het bestand niet bestaat.
Wanneer het bestand al bestaat.
Java FileOutputStream
Een bestand Uitvoerstroom schrijft gegevens naar een bestand. De Java FileOutputStream-klasse biedt ook ondersteuning voor bestanden. Het behoort tot het java.io-pakket. Het slaat de gegevens op in bytes. We gebruiken de FileOutputStream-klasse wanneer we bepaalde gegevens naar het gemaakte bestand moeten schrijven. De klasse FileOutputStream biedt een constructor waarmee u een bestand kunt maken. De handtekening van de constructeur is:
public FileOutputStream(String name, boolean append) throws FileNotFoundException
Parameters
naam: is de bestandsnaam
toevoegen: indien waar, wordt de byte naar het einde van het bestand geschreven, niet aan het begin.
Voorbeeld
In het volgende voorbeeld hebben we een bestand gemaakt met 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(); } } }
Uitvoer
Java File.createFile()-methode
De File.createFile() is een methode van de File-klasse die behoort tot java.nio.file pakket. Het biedt ook ondersteuning voor bestanden. Het nio-pakket is buffergericht. De methode createFile() wordt ook gebruikt om een nieuw, leeg bestand te maken. We hoeven de bronnen niet te sluiten als we deze methode gebruiken. Het is een voordeel. De handtekening van de methode is:
public static Path createFile(Path, Attribute) throws IOException
Pad: Het pad van het bestand.
Attribuut: Een optionele lijst met bestandskenmerken.
De methode retourneert het bestand.
In het volgende voorbeeld wordt ook een nieuw, leeg bestand gemaakt. We maken een Path-instantie met behulp van een statische methode in de Paths-klasse (java.nio.file.Paths) met de naam Paths.get(). Let op de volgende verklaring:
Pad pad = Paths.get('C:\demo\javaprogram.txt');
conversie van datum naar tekenreeks
In de bovenstaande regel is Path een interface en Paths een klasse. Beide behoren tot hetzelfde pakket. De Paths.get() methode maakt de Path Instance.
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(); } } }
Uitvoer