Есть ли библиотека в java для изменения директорий и файлов (создание, изменение, удаление)

Мне нужно было работать с директорией и сохранять файлы и удалять. В питоне я бы сделал так:

import os
os.mkdir("путь")
os.rmdir("путь")

итд. Но как это сделать в java не знаю.


Ответы (1 шт):

Автор решения: Agzam

Создать файл путь, текст:

public static void writeFile(String filename, String text) throws IOException {
    FileWriter writer = new FileWriter(filename);
    writer.write(text);
    writer.flush();
}

Создать папку путь:

public static void createFolder(String folder) throws IOException {
    Files.createDirectory(Paths.get(folder));
}

Прочитать файл путь:

public static String readFile(String path) {
    String string = "";
    try {
        byte[] all = Files.readAllBytes(Paths.get(path));
        string = new String(all);
        return string;
    } catch (IOException e) {
        return null;
    }
}

Создать файл из объекта (объект должен быть implements Serializable)

public static void writeObject(Object o, String outname) {
    ObjectOutputStream out;
    try {
        out = new ObjectOutputStream(new FileOutputStream(outname));
        out.writeObject(o);
        out.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

Прочитать объект:

public static Object readObject(String inname) throws ClassNotFoundException, IOException {
    ObjectInputStream in = new ObjectInputStream(new FileInputStream(inname));
    Object o = in.readObject();
    in.close();
    return o;
}

Примеры:

import java.io.FileWriter;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;

public class Test {

       public static void main(String[] a) throws IOException{
           writeFile("Hello world.txt", "Hello world!");
           System.out.println(readFile("Hello world.txt"));

           createFolder("TestFolder");
           writeFile("TestFolder/Test.txt", "Test text");
           System.out.println(readFile("TestFolder/Test.txt"));
       }
       
       public static void writeFile(String filename, String text) throws IOException {
            FileWriter writer = new FileWriter(filename);
            writer.write(text);
            writer.flush();
        }
       
       public static void createFolder(String folder) throws IOException {
            Files.createDirectory(Paths.get(folder));
       }
       
       public static String readFile(String path) {
            String string = "";
            try {
                byte[] all = Files.readAllBytes(Paths.get(path));
                string = new String(all);
                return string;
            } catch (IOException e) {
                return null;
            }
        }
}
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;

public class Test implements Serializable {
    
       public byte b;
       public int i;
       public long l;

       public Test(byte b, int i, long l) {
           this.b = b;
           this.i = i;
           this.l = l;
       }

       public static void main(String[] a) throws ClassNotFoundException, IOException {
           Test test = new Test((byte) 0, 10, 100);
           writeObject(test, "test.test");
           Test loaded_test = (Test) readObject("test.test");
           System.out.println(loaded_test.b);
           System.out.println(loaded_test.i);
           System.out.println(loaded_test.l);
       }
       
       public static void writeObject(Object o, String outname) {
            ObjectOutputStream out;
            try {
                out = new ObjectOutputStream(new FileOutputStream(outname));
                out.writeObject(o);
                out.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
       
       public static Object readObject(String inname) throws ClassNotFoundException, IOException {
            ObjectInputStream in = new ObjectInputStream(new FileInputStream(inname));
            Object o = in.readObject();
            in.close();
            return o;
        }
}

→ Ссылка