[JavaSpecialists] Summer Special – Writing My Name Into a Plank with Java

Ελληνική μετάφραση του Java(tm) Specialists’ Newsletter

Καλησπέρα απο το The Java(tm) Specialists’ Newsletter,

Ελπίζω να απολαμβάνετε τον Αύγούστο όσο εγώ! Ξεκίνησε την 1η Αυγούστου, το #JCrete, που ήταν το καλύτερο απο τα τελευταία 6 που έγιναν. Απίστευτοι συμμετέχοντες και έντονες συζητήσεις.

Ένα από τα παιχνίδια που απέκτησα πρόσφατα είναι ένα Carbide 3D Nomad Pro 883. Πρόκειται για μια φρέζα CNC που μπορείτε να ελέγξετε μέσα από Java. Τελικά κατάλαβα πώς να μιλήσουμε με αυτό. Ο κώδικάς μου χρειάζεται ακόμη κάποιες βελτιώσεις, αλλά είναι ήδη αρκετά καλό ότι θα μπορούσα να γράψω το όνομά μου σε ένα κομμάτι ξύλου και να σχεδιάσω ένα Java Duke.

Κινηματογράφισα τον εαυτό μου να κάνει μια πρόχειρη επίδειξη χρησιμοποιώντας Periscope. Χρειάστηκε κάποιος χρόνος για να δουλέψει το λογισμικό, χάρη σε ένα ενοχλητικό “χαρακτηριστικό” στη Java 9 με την υποτιθέμενη  locale-sensitive String.format () συνάρτηση. Με την μόνη διαφορά οτι την έχουν φτιάξει λάθος. Στον υπολογιστή μου έχω δημιουργήσει το δεκαδικό σημείο στήξης να είναι ένα “.” και το πήρε ως “,” αντ ‘αυτού. Κατα τη γνώμη μου, είναι λάθος να αλλάξει η String.format () και να αναγνωρίζει locale. Θα υπάρξει πολλής κώδικας εκεί έξω που αναμένει να εξάγει το δεκαδικό σαν μια τελεία. Επειδή έγραφα κώδικα με το ένα χέρι και με το άλλο κράταγα το κινητό τηλέφωνο στο άλλο, έκανα μερικά λάθη. Αν είστε ανυπόμονοι, ίσως να θέλετε να παρακάμψετε μέσα από τα πρώτα 20 λεπτά, όπου προσπαθώ να κάνω πάρει το demo να ξεκινήσει.

https://www.periscope.tv/heinzkabutz/1nAKEbpOoDbGL

Continue reading “[JavaSpecialists] Summer Special – Writing My Name Into a Plank with Java”

Δημιουργία συμπιεσμένου ZIP αρχείου με Java

Αυτό το χρειάστηκα σήμερα το πρωί. Η φιλοσοφία είναι ότι έχουμε να διαχειριστούμε κάποια αρχεία σε ένα ή παραπάνω φακέλους στο δίσκο και πρέπει να δημιουργήσουμε ένα συμπιεσμένο zip αρχείο με τα αρχεία αυτά.

Η λύση είναι αρκετά απλή.

  1. Παίρνουμε τις διαδρομές των αρχείων και τις βάζουμε σε ένα collection (Array πχ)
  2. Ανοίγουμε ένα output stream στο δίσκο που του “δίνουμε zip ιδιότητες”
  3. Διαβάζουμε ένα-ένα τα αρχεία και τα βάζουμε στο  output stream
  4. Κλείνουμε το stream