Salta el contingut
 

Pràctica 1: Programació de processos

Autor: Joan Puigcerver Ibáñez

Correu electrònic: j.puigcerveribanez@edu.gva.es

Llicència: CC BY-NC-SA 4.0

(Reconeixement - NoComercial - CompartirIgual) 🅭

Objectius

Desenvolupar aplicacions en Java que gestionen processos i es puguen comunicar amb aquests.

Entrega

Tots els exercicis han d'estar situats en el package corresponent.

  • Package: ud1.practices
  • El nom de la classe de cada exercici és el nom.
  • El format de la eixida del programa ha de ser consistent amb el format demanat.
  • S'ha d'entregar un fitxer .zip amb el contingut del package ud1.practices.
  • El codi ha d'estar pujat a GitHub en el vostre repositori de l'assignatura.
  • Tag GitHub: PracticeProcess (StackOverflow: Create a tag in a GitHub repository)

Observacions

En Windows, per poder executar comandes de terminal des del nostre programa Java, cal especificar el intèrpret d'aquestes comandes.

  • cmd: cmd.exe \c comanda arg1 arg2 ...
  • PowerShell: powershell comanda arg1 arg2 ...
  • Intèrpret d'Ubuntu (WSL): wsl.exe comanda arg1 arg2 ...

ProcessBuilder amb WSL

ProcessBuilder pb = new ProcessBuilder({"wsl.exe", "echo", "Example"});
Process p = pb.start();

1. IPAddressProcess

Crea el programa IPAddressProcess que execute un programa per obtindre la IP del nostre dispositiu i la mostre per pantalla.

  • En Windows: ipconfig
  • En Linux o WSL: ip -br a

Eixida

La direcció IP del dispositiu és: 123.456.789.123

Important

Intenteu que l'eixida del programa tinga exactament el mateix format que l'especificat.

2. TextEditorProcess

Crea el programa TextEditorProcess que execute el editor de text amb el fitxer text.txt, que hauria d'estar en la carpeta files/ud1/ en el teu repositori.

No importa si inicialment el fitxer existeix o no, l'editor de text crearà el fitxer si no existeix, o l'obrirà si sí que existeix.

L'editor ha d'obrir o crear aquest fitxer. Una vegada es tanque l'editor, cal mostrar els continguts del fitxer mitjançant un altre procés.

  • Editor: gedit files/ud1/text.txt (Aquesta no funciona en WSL)
  • Contingut: cat files/ud1/text.txt (També funciona en PowerShell)
  • Editor: notepad files/ud1/text.txt
  • Contingut: type files/ud1/text.txt

Eixida

S'està obrint l'editor de text...
L'edició de text ha acabat.
Contingut del fitxer "text.txt":
    Lorem ipsum dolor sit amet, consectetur adipiscing elit.
    Phasellus nec porttitor sem.
    Etiam sit amet risus luctus diam semper finibus ut nec mauris.
    Etiam a pulvinar tellus, non scelerisque ante.
    Sed egestas quam mollis nibh ornare semper mollis vel ex.
    Etiam congue finibus dui, ut mattis nibh vulputate et.
    Donec congue mauris ut nulla condimentum pellentesque.
    Cras sollicitudin congue porta. Nunc eu scelerisque sem.

3. LessUsedCarProcess

Crea el programa LessUsedCarProcess que mostre la marca del cotxe que menys kilòmetres ha recorregut de les dades del concessionari.

  • concessionari.csv

    Important

    Situa el fitxer concessionari.csv en la carpeta files/ud1/ del teu repositori.

Per fer aquesta tasca cal crear els següents processos en una canonada en Java:

  • cat files/ud1/concessionari.csv: Mostra el contingut del fitxer.
  • sort -k3 -t, -n: Ordena per quilometratge.
    • -t,: El separador és ",".
    • -k3: Volem ordenar per la tercera columna.
    • -n: Utilitzem ordre numèric en compte d'alfabètic.
  • head -1: Mostrem el primer element
  • cut -d, -f2,3: Mostrem la marca del cotxe.
    • -d,: El separador és ",".
    • -f2,3: Ens volem quedar amb el segon i tercer camp.

Eixida

Volkswagen,8065