Collection de méthodes de code de test Java

MyTestUtil.java


package domain.unofficial;

import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.function.Predicate;
import java.util.stream.Collectors;

public class MyTestUtil {

    private static Path DELETE_PERMISSION_PATH = Paths.get("d:/tmp");

    public static void cat(final String path) throws IOException {
        readAllLines(path).forEach(System.out::println);
    }

    public static void dir(final String path) throws IOException {
        readPathsInfo(path).forEach(System.out::println);
    }

    public static List<String> readAllLines(final String path) throws IOException {
        return Files.readAllLines(Paths.get(path), StandardCharsets.UTF_8);
    }

    public static List<String> readPathsInfo(final String targetPath) throws IOException {
        List<String> result = new ArrayList<>();
        Path target = Paths.get(targetPath);
        result.add(target.toString());
        for (Path p : Files.walk(target).filter(p -> !p.equals(target)).collect(Collectors.toList())) {
            LocalDateTime time = LocalDateTime.ofInstant(Files.getLastModifiedTime(p).toInstant(),
                    ZoneId.systemDefault());

            String dateTime = time.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME).substring(0, 19);
            String attr = null;
            if (Files.isDirectory(p)) {
                attr = String.format("%-10s", "<DIR>");
            } else {
                attr = String.format("%10s", Long.toString(Files.size(p)));
            }
            String relativePath = target.relativize(p).toString();

            result.add(dateTime + "  " + attr + "  " + relativePath);
        }
        return result;
    }

    public static List<String> readAllPaths(final String path) throws IOException {
        return Files.walk(Paths.get(path)).map(Path::toString).collect(Collectors.toList());
    }

    public static void delete(final String targetPath) throws IOException {
        delete(targetPath, false);
    }

    public static void clear(final String targetPath) throws IOException {
        delete(targetPath, true);
    }

    private static void delete(final String targetPath, boolean isClear) throws IOException {
        Path target = Paths.get(targetPath);
        Predicate<Path> filter = null;
        if (isClear) {
            filter = (p) -> {
                return !p.equals(target);
            };
        } else {
            filter = (p) -> true;
        }
        Files.walk(target).sorted(Comparator.reverseOrder()).filter(filter)
                .filter(p -> p.startsWith(DELETE_PERMISSION_PATH)).map(Path::toFile).forEach(File::delete);
    }

    public static void copy(final String sourcePath, final String destinationPath) throws IOException {
        Path source = Paths.get(sourcePath);
        Path destination = Paths.get(destinationPath);

        if (Files.isRegularFile(source) && Files.isDirectory(destination)) {
            destination = destination.resolve(source.getFileName());
        }

        for (final Path sp : Files.walk(source).collect(Collectors.toList())) {
            Files.copy(sp, destination.resolve(source.relativize(sp)), StandardCopyOption.COPY_ATTRIBUTES);
        }
    }
}

Recommended Posts

Collection de méthodes de code de test Java
Collection d'exemples de code parallèle Java
Méthode Java
java (méthode)
Collection Java9
Méthode Java
[Java] méthode
[Java] méthode
Jugement des nombres premiers Java
Exécuter du code Java de manière scriptée
CONSEILS relatifs au code Java
Exemple de code Java 02
Exemple de code Java 03
Référence de la méthode Java8
Réintroduction Java - Collection Java
[Java] méthode forEach
[Java] Comparaison des méthodes d'opération de la collection et de StringBuilder
Exemple de code Java 01
Code de caractère Java
référence de la méthode java8
[Java] Méthode aléatoire
[Java] méthode de fractionnement
[Java] Cadre de collection
[Java débutant] méthode println sans spécification de type de collection
Collection expirée de java
Exécution du code de test RSpec
Questions d'entretien de Java Collection
Java Learning 2 (Apprenez la méthode de calcul)
Mémo d'apprentissage Java (méthode)
À propos de la liaison de méthode Java
A propos des méthodes de fractionnement (Java)
Etudier Java 8 (voir méthode)
Échantillon de bibliothèque de tests unitaires Java
[Tester l'apprentissage / la sortie du code]
Programmation Java (méthode de classe)
[Java] Notes de méthode de base
Premiers pas avec Java Collection
[Java] Exemple de cas de test JUnit 4
[Java] Nouvelle méthode de génération de threads (2)
Exemple de code de signature électronique (JAVA)
À propos de la condition de décision de la méthode Java GC
Comment remplir le code avec Qiita
Mémo de la méthode d'étude Java Silver
Créer une méthode java [Memo] [java11]
[Java] Comparateur de la classe Collection
Programme de jugement des nombres premiers le plus rapide C # Java C ++
Test de compétence Java 2018 pour les nouveaux arrivants - Principes de base-
[Java Silver] À propos de la méthode equals
Qu'est-ce qu'une collection Java?
[Windows] Le code Java est déformé
[Rails] Code de test à l'aide de Rspec
[Java] Méthode d'implémentation du traitement du minuteur
[Java] Méthode de génération aléatoire (aléatoire)
Java avec Visual Studio Code
Méthodes Java et surcharges de méthodes