Opret en fil i et bestemt katalog i Java

1. Oversigt

I denne hurtige vejledning skal vi se på, hvordan du opretter en fil i en bestemt mappe.

Vi ser forskellen mellem absolutte og relative filstier, og vi bruger stier, der fungerer på flere større operativsystemer.

2. Absolutte og relative filstier

2.1. Absolutte stier

Lad os starte med at oprette en fil i en mappe ved med henvisning til hele stien, også kendt som en absolut sti. For at demonstrere bruger vi den absolutte sti til brugeren Midlertidig katalog, og tilføj vores fil til den.

Vi bruger Files.touch (), som er en del af Google Guava, som en nem måde at oprette en tom fil på:

Fil tempDirectory = ny fil (System.getProperty ("java.io.tmpdir")); Fil fileWithAbsolutePath = ny fil (tempDirectory.getAbsolutePath () + "/testFile.txt"); assertFalse (fileWithAbsolutePath.exists ()); Files.touch (fileWithAbsolutePath); assertTrue (fileWithAbsolutePath.exists ());

2.2. Relative stier

Vi kan også oprette en fil i en mappe, der er relateret til en anden mappe. Lad os for eksempel oprette fil i brugeren Midlertidig vejviser:

Fil tempDirectory = ny fil (System.getProperty ("java.io.tmpdir")); File fileWithRelativePath = ny fil (tempDirectory, "newFile.txt"); assertFalse (fileWithRelativePath.exists ()); Files.touch (fileWithRelativePath); assertTrue (fileWithRelativePath.exists ());

I ovenstående eksempel føjes vores nye fil til brugerens sti Midlertidig vejviser.

3. Brug af en platformuafhængig filudskiller

For at konstruere filstier er vi nødt til at bruge separatorer som / eller \. Imidlertid, den passende separator, der skal bruges, afhænger af dit operativsystem. Heldigvis er der en lettere måde. Vi kan bruge Java'er File.separator i stedet for skilletegn. Som et resultat vælger Java den passende separator til os.

Lad os se på et eksempel på oprettelse af en fil med denne metode:

Fil tempDirectory = ny fil (System.getProperty ("java.io.tmpdir")); Fil newFile = ny fil (tempDirectory.getAbsolutePath () + File.separator + "newFile.txt"); assertFalse (newFile.exists ()); Files.touch (newFile); assertTrue (newFile.exists ());

Ved brug af File.separator, Java ved, hvordan man konstruerer stier baseret på det underliggende filsystem.

4. Konklusion

I denne artikel undersøgte vi forskellene mellem absolutte og relative stier, og hvordan man opretter filstier, der fungerer på flere større operativsystemer.

Som altid er eksempelkoden tilgængelig på GitHub.