Salta el contingut
 

Pràctica 1: Programació de processos

Joan Puigcerver Ibáñez

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.
  • Nom de la classe: el nom de cada exercici.
  • Format de l'eixida: ha de ser consistent amb el format demanat.
  • Lliurament: un fitxer .zip amb el contingut del package ud1.practices.
  • Repositori: el codi ha d'estar pujat a GitHub, al teu repositori del mòdul.
  • Etiqueta de GitHub: PracticeProcess ( Create a tag in a GitHub repository – StackOverflow).

Observacions

En Windows, per poder executar ordres de terminal des d'un programa Java, cal especificar l'intèrpret d'aquestes ordres:

  • cmd: cmd.exe /c ordre arg1 arg2 ...
  • PowerShell: powershell ordre arg1 arg2 ...
  • Intèrpret d'Ubuntu (WSL): wsl.exe ordre arg1 arg2 ...
Exemple: 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 teu 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

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

2. TextEditorProcess

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

No importa si inicialment el fitxer existeix o no: l'editor de text el crea si no existeix i l'obri si ja existeix. Una vegada es tanque l'editor, cal mostrar els continguts del fitxer mitjançant un altre procés.

  • Editor: gedit files/ud1/text.txt

    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 quilòmetres ha recorregut, a partir de les dades del concessionari.

  • concessionari.csv

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

Per fer aquesta tasca, cal crear els processos següents 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: ordena per la tercera columna.
    • -n: utilitza l'ordre numèric en compte de l'alfabètic.
  • head -1: mostra el primer element.
  • cut -d, -f2,3: mostra la marca del cotxe.
    • -d,: el separador és ,.
    • -f2,3: es queda amb el segon i el tercer camp.

Eixida

Volkswagen,8065
📌 Aquest document pot quedar desactualitzat després d’imprimir-lo. Pots consultar la versió més recent a la pàgina web.
🌿 Abans d’imprimir aquest document, considera si és realment necessari. Redueix el consum de paper i ajuda a protegir el nostre entorn.