Maak een bestand in een specifieke directory in Java

1. Overzicht

In deze korte zelfstudie gaan we bekijken hoe u een bestand in een specifieke map kunt maken.

We zullen het verschil zien tussen absolute en relatieve bestandspaden, en we zullen paden gebruiken die op verschillende grote besturingssystemen werken.

2. Absolute en relatieve bestandspaden

2.1. Absolute paden

Laten we beginnen met het maken van een bestand in een map door verwijzend naar het hele pad, ook wel bekend als een absoluut pad. Om dit te demonstreren, gebruiken we het absolute pad naar de gebruiker temp directory, en voeg ons bestand eraan toe.

We gebruiken Files.touch (), dat deel uitmaakt van Google Guava, als een gemakkelijke manier om een ​​leeg bestand te maken:

Bestand tempDirectory = nieuw bestand (System.getProperty ("java.io.tmpdir")); File fileWithAbsolutePath = nieuw bestand (tempDirectory.getAbsolutePath () + "/testFile.txt"); assertFalse (fileWithAbsolutePath.exists ()); Files.touch (fileWithAbsolutePath); assertTrue (fileWithAbsolutePath.exists ());

2.2. Relatieve paden

We kunnen ook een bestand aanmaken in een directory die relatief is aan een andere directory. Laten we bijvoorbeeld een bestand maken in de gebruiker temp directory:

Bestand tempDirectory = nieuw bestand (System.getProperty ("java.io.tmpdir")); File fileWithRelativePath = nieuw bestand (tempDirectory, "newFile.txt"); assertFalse (fileWithRelativePath.exists ()); Files.touch (fileWithRelativePath); assertTrue (fileWithRelativePath.exists ());

In het bovenstaande voorbeeld is ons nieuwe bestand toegevoegd aan het pad van de gebruiker temp directory.

3. Met behulp van een platformonafhankelijke bestandsscheider

Om bestandspaden te construeren, moeten we scheidingstekens gebruiken zoals / of \. Echter, het juiste scheidingsteken dat moet worden gebruikt, is afhankelijk van uw besturingssysteem. Gelukkig is er een gemakkelijkere manier. We kunnen Java's gebruiken Bestand.separator in plaats van scheidingstekens. Als gevolg hiervan kiest Java de juiste scheidingsteken voor ons.

Laten we eens kijken naar een voorbeeld van het maken van een bestand met deze methode:

Bestand tempDirectory = nieuw bestand (System.getProperty ("java.io.tmpdir")); Bestand newFile = nieuw bestand (tempDirectory.getAbsolutePath () + File.separator + "newFile.txt"); assertFalse (newFile.exists ()); Files.touch (newFile); assertTrue (newFile.exists ());

Gebruik makend van Bestand.separator, Java weet hoe paden te construeren op basis van het onderliggende bestandssysteem.

4. Conclusie

In dit artikel hebben we de verschillen tussen absolute en relatieve paden onderzocht en hoe bestandspaden kunnen worden gemaakt die op verschillende grote besturingssystemen werken.

Zoals altijd is de voorbeeldcode beschikbaar op GitHub.