diff --git a/data.json b/data.json new file mode 100644 index 0000000..3146042 --- /dev/null +++ b/data.json @@ -0,0 +1,89 @@ +{ + "genres": [ + { + "id": 1, + "name": "Crime" + }, + { + "id": 2, + "name": "Drama" + }, + { + "id": 3, + "name": "Action" + }, + { + "id": 4, + "name": "Biography" + }, + { + "id": 5, + "name": "History" + }, + { + "id": 6, + "name": "Adventure" + }, + { + "id": 7, + "name": "Fantasy" + }, + { + "id": 8, + "name": "Western" + }, + { + "id": 9, + "name": "Comedy" + }, + { + "id": 10, + "name": "Sci-Fi" + }, + { + "id": 11, + "name": "Mystery" + }, + { + "id": 12, + "name": "Thriller" + }, + { + "id": 13, + "name": "Family" + }, + { + "id": 14, + "name": "War" + }, + { + "id": 15, + "name": "Animation" + }, + { + "id": 16, + "name": "Romance" + }, + { + "id": 17, + "name": "Horror" + }, + { + "id": 18, + "name": "Music" + }, + { + "id": 19, + "name": "Film-Noir" + }, + { + "id": 20, + "name": "Musical" + }, + { + "id": 21, + "name": "Sport" + } + ], + "total": 21 +} \ No newline at end of file diff --git a/pom.xml b/pom.xml index 52bc355..c1498c9 100644 --- a/pom.xml +++ b/pom.xml @@ -14,4 +14,12 @@ UTF-8 + + + com.google.code.gson + gson + 2.11.0 + + + \ No newline at end of file diff --git a/src/main/java/org/FileExamples/AddresesingModes/FileAddressing.java b/src/main/java/org/FileExamples/AddresesingModes/FileAddressing.java new file mode 100644 index 0000000..a8fcbe7 --- /dev/null +++ b/src/main/java/org/FileExamples/AddresesingModes/FileAddressing.java @@ -0,0 +1,28 @@ +package org.FileExamples.AddresesingModes; + +import java.io.InputStream; +import java.nio.file.Path; +import java.util.Scanner; + +public class FileAddressing { + static void main() { + //relative + Path relativePath = Path.of("data.txt"); + //absolute + Path absolutePath = Path.of("C:\\Users\\Lenovo\\data.txt"); + + + //using class path / resources + InputStream input = FileAddressing.class + .getClassLoader() + .getResourceAsStream("data.txt"); + + Scanner scanner = new Scanner(input); + + while (scanner.hasNextLine()) { + System.out.println(scanner.nextLine()); + } + + scanner.close(); + } +} diff --git a/src/main/java/org/FileExamples/CreatingFiles/CreateFileExample01.java b/src/main/java/org/FileExamples/CreatingFiles/CreateFileExample01.java new file mode 100644 index 0000000..c1bda54 --- /dev/null +++ b/src/main/java/org/FileExamples/CreatingFiles/CreateFileExample01.java @@ -0,0 +1,43 @@ +package org.FileExamples.CreatingFiles; + +import java.io.File; +import java.io.IOException; + +public class CreateFileExample01 { + static void main() { + File file = new File("quotes.txt"); + try { + if(file.createNewFile()) + { + System.out.println("created new file"); + } + else + { + System.out.println("file already exists"); + } + } catch (IOException e) { + System.err.println(e.getMessage()); + } + + + File newfile = new File("newfolder/quotes.txt"); + + try { + newfile.getParentFile().mkdirs(); + if(newfile.createNewFile()) + { + System.out.println("created new file"); + } + else + { + System.out.println("file already exists"); + } + } catch (IOException e) { + System.err.println(e.getMessage()); + } + } + //TODO: 1. Create File + //TODO: 2. Specify and address and directory that exists + //TODO: 3. Specify and address and directory that does not exists + //TODO: 4. +} diff --git a/src/main/java/org/FileExamples/CreatingFiles/CreateFileExample02.java b/src/main/java/org/FileExamples/CreatingFiles/CreateFileExample02.java new file mode 100644 index 0000000..baaeace --- /dev/null +++ b/src/main/java/org/FileExamples/CreatingFiles/CreateFileExample02.java @@ -0,0 +1,25 @@ +package org.FileExamples.CreatingFiles; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; + +public class CreateFileExample02 { + public static void main(String[] args) { + Path path = Path.of("quotes.txt"); + try { + Files.createFile(path); + } catch (IOException e) { + System.err.println(e.getMessage()); + } + + + Path newPath = Path.of("newfolder/quotes.txt"); + try { +// Files.createDirectories(newPath.getParent()); + Files.createFile(newPath); + } catch (IOException e) { + System.err.println(e.getMessage()); + } + } +} diff --git a/src/main/java/org/FileExamples/DeletingFiles/DeleteFileExample01.java b/src/main/java/org/FileExamples/DeletingFiles/DeleteFileExample01.java new file mode 100644 index 0000000..fd8aa14 --- /dev/null +++ b/src/main/java/org/FileExamples/DeletingFiles/DeleteFileExample01.java @@ -0,0 +1,15 @@ +package org.FileExamples.DeletingFiles; + +import java.io.File; + +public class DeleteFileExample01 { + static void main() { + File file = new File("example.txt"); + + if (file.delete()) { + System.out.println("Deleted file: " + file.getName()); + } else { + System.out.println("Failed to delete the file."); + } + } +} diff --git a/src/main/java/org/FileExamples/DeletingFiles/DeleteFileExample02.java b/src/main/java/org/FileExamples/DeletingFiles/DeleteFileExample02.java new file mode 100644 index 0000000..a111d2d --- /dev/null +++ b/src/main/java/org/FileExamples/DeletingFiles/DeleteFileExample02.java @@ -0,0 +1,20 @@ +package org.FileExamples.DeletingFiles; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; + +public class DeleteFileExample02 { + static void main() { + try + { + Path path = Path.of("example.txt"); + Files.deleteIfExists(path); + System.out.println("File deleted if it existed."); + } + catch (IOException e) + { + throw new RuntimeException(e); + } + } +} diff --git a/src/main/java/org/FileExamples/ParsingJson/Genre.java b/src/main/java/org/FileExamples/ParsingJson/Genre.java new file mode 100644 index 0000000..af35b6d --- /dev/null +++ b/src/main/java/org/FileExamples/ParsingJson/Genre.java @@ -0,0 +1,37 @@ +package org.FileExamples.ParsingJson; + + +public class Genre +{ + private Long id; + private String name; + + public Genre(Long id, String name) { + this.id = id; + this.name = name; + } + + public Genre() { + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @Override + public String toString() { + return id + ". " + name; + } +} \ No newline at end of file diff --git a/src/main/java/org/FileExamples/ParsingJson/ParsingJsonExample01.java b/src/main/java/org/FileExamples/ParsingJson/ParsingJsonExample01.java new file mode 100644 index 0000000..ba7732e --- /dev/null +++ b/src/main/java/org/FileExamples/ParsingJson/ParsingJsonExample01.java @@ -0,0 +1,38 @@ +package org.FileExamples.ParsingJson; + +import com.google.gson.*; +import com.google.gson.reflect.TypeToken; + +import java.io.IOException; +import java.lang.reflect.Type; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.List; + +public class ParsingJsonExample01 { + static void main() { + try + { + Path path = Path.of("data.json"); + String jsonString = new String(Files.readAllBytes(path)); + Gson gson = new Gson(); + JsonObject rootObject = JsonParser.parseString(jsonString).getAsJsonObject(); + JsonPrimitive jsonPrimitive = rootObject.getAsJsonPrimitive("total"); + System.out.println(jsonPrimitive.getAsInt()); + + JsonArray genresArray = rootObject.getAsJsonArray("genres"); + + Type type = new TypeToken>(){}.getType(); + List genres = gson.fromJson(genresArray, type); + for(Genre genre : genres) + { + System.out.println(genre.getId() + ". " + genre.getName()); + } + } + catch (IOException e) + { + throw new RuntimeException(e); + } + } +} diff --git a/src/main/java/org/FileExamples/ReadingFiles/ReadFileExample01.java b/src/main/java/org/FileExamples/ReadingFiles/ReadFileExample01.java new file mode 100644 index 0000000..298ff54 --- /dev/null +++ b/src/main/java/org/FileExamples/ReadingFiles/ReadFileExample01.java @@ -0,0 +1,27 @@ +package org.FileExamples.ReadingFiles; + +import java.io.File; +import java.io.FileNotFoundException; +import java.util.Scanner; + +public class ReadFileExample01 { + static void main() { + try + { + File file = new File("example.txt"); + Scanner reader = new Scanner(file); + while(reader.hasNextLine()) + { + String line = reader.nextLine(); + System.out.println(line); + } + reader.close(); + } + catch (FileNotFoundException e) + { + throw new RuntimeException(e); + } + + + } +} diff --git a/src/main/java/org/FileExamples/ReadingFiles/ReadFileExample02.java b/src/main/java/org/FileExamples/ReadingFiles/ReadFileExample02.java new file mode 100644 index 0000000..f074ab9 --- /dev/null +++ b/src/main/java/org/FileExamples/ReadingFiles/ReadFileExample02.java @@ -0,0 +1,24 @@ +package org.FileExamples.ReadingFiles; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.List; + +public class ReadFileExample02 { + static void main() { + try + { + Path path = Path.of("example.txt"); + List lines = Files.readAllLines(path); + for(String line: lines) + { + System.out.println(line); + } + } + catch (IOException e) + { + System.err.println("Something went wrong"); + } + } +} diff --git a/src/main/java/org/FileExamples/WritingFiles/WriteFileExample01.java b/src/main/java/org/FileExamples/WritingFiles/WriteFileExample01.java new file mode 100644 index 0000000..a3acd05 --- /dev/null +++ b/src/main/java/org/FileExamples/WritingFiles/WriteFileExample01.java @@ -0,0 +1,27 @@ +package org.FileExamples.WritingFiles; + +import java.io.FileWriter; +import java.io.IOException; + +public class WriteFileExample01 { + static void main() { + try { + FileWriter fileWriter = new FileWriter("quotes.txt"); + fileWriter.write("I'm not superstitious, but I am a little stitious.\n"); + fileWriter.write("I am running away from my responsibilities. And it feels good.\n"); + fileWriter.close(); + } catch (IOException e) { + System.err.println(e.getMessage()); + } + + + try { + FileWriter fileWriter = new FileWriter("quotes.txt", true); + fileWriter.write("I DECLARE BANKRUPTCY!"); + fileWriter.close(); + } catch (IOException e) { + System.err.println(e.getMessage()); + } + + } +} diff --git a/src/main/java/org/FileExamples/WritingFiles/WriteFileExample02.java b/src/main/java/org/FileExamples/WritingFiles/WriteFileExample02.java new file mode 100644 index 0000000..8a7c55e --- /dev/null +++ b/src/main/java/org/FileExamples/WritingFiles/WriteFileExample02.java @@ -0,0 +1,38 @@ +package org.FileExamples.WritingFiles; + +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.OpenOption; +import java.nio.file.Path; +import java.nio.file.StandardOpenOption; +import java.util.ArrayList; +import java.util.List; + +public class WriteFileExample02 { + static void main() { + + + try { + Path path = Path.of("quotes.txt"); + List lines = List.of( + "I'm not superstitious, but I am a little stitious.", + "I am running away from my responsibilities. And it feels good." + ); + Files.write(path, lines); + } catch (IOException e) { + throw new RuntimeException(e); + } + + + try { + Path path = Path.of("quotes.txt"); + List lines = List.of( + "I DECLARE BANKRUPTCY!" + ); + Files.write(path, lines, StandardOpenOption.APPEND); + } catch (IOException e) { + throw new RuntimeException(e); + } + } +} diff --git a/src/main/resources/data.txt b/src/main/resources/data.txt new file mode 100644 index 0000000..e3c5b78 --- /dev/null +++ b/src/main/resources/data.txt @@ -0,0 +1 @@ +this is a data file. \ No newline at end of file