mass cat


Enviar solució

Punts: 1 (parcial)
Temps Límit: 1.0s
Límit de memòria: 64M

Autor/a:
tipus del problema
Fitxers de text
Categoria
Introduccio
Llenguatges permesos
Bash, C#, Haskell, Java, Kotlin, PHP, Python

La comanda cat de linux permet imprimir els continguts d'un fitxer. Anem a fer un cat en massa per múltiples fitxers. El path al directori a on estan als fitxers es in, i accedir a qualsevol altre path donarà error.

Entrada

una sola línea amb el nom del fitxer d'entrada. Per tant, si reps a1.txt el fitxer d'entrada estara a in/a1.txt

Sortida

El programa escriurà els continguts del fitxer. El fitxer pot tenir més d'una línea

Solució

Per a que s'entenguin millor com funciona el sistema de links simbòlics, s'aporta la solució al problema

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;

public class MassCat {

    public static void main(String[] args) {
        BufferedReader reader;
        Scanner sc = new Scanner(System.in);
        try {
            String fi = sc.nextLine();  //es llegeix l'arxiu de text
            reader = new BufferedReader(new FileReader("in/"+fi));  //el path sempre sera "in/"+ el nom de l'arxiu de text
            String line = reader.readLine();  //es llegeix la línea
            while (line != null) {
                System.out.println(line);
                line = reader.readLine();
            }
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Links simbòlics

Tots els problema de fitxers fan servir links simbòlics proporcionats en la propia estructura del problema.

En la majoria de problemes, a on hi ha més d'un cas de prova, "in" apuntara a un directori i nom del fitxer et vindrà per l'entrada del problema (i per tant el llegiràs desde Scanner.nextLine()).

De la mateixa manera, en la majoria de problemes, "out" serà un directori i tu escriuraras a out/ElNomQueTuVulguis , i després posaràs ElNomQueTuVulguis com a sortida del programa (per tant, com a System.out.println())

L'estructura de fitxers és Linux, amb el que no cal en cap cas posar el .txt . Tots els fitxers ja es tracten de la forma adient automàticament.

La localització dels fitxers és secreta. No teniu permisos d'escriptura a "in" ni permisos de lectura a "out".

INTENTAR ACCEDIR A QUALSEVOL ALTRE DIRECTORI FALLARÀ, I AIXERCARÀ UNA ALARMA CRÍTICA DE SEGURETAT QUE EM SERÀ NOTIFICADA PER CORREU INMEDIATAMENT


Comentaris


  • 0
    Ari  comentat a les oct. 27, 2022, 8:24 p.m.

    Gracias por el puntito