Πρόγραμμα Kotlin για δημιουργία συμβολοσειράς από περιεχόμενα ενός αρχείου

Σε αυτό το πρόγραμμα, θα μάθετε διαφορετικές τεχνικές για να δημιουργήσετε μια συμβολοσειρά από παραχωρήσεις ενός δεδομένου αρχείου στο Kotlin.

Πριν δημιουργήσουμε μια συμβολοσειρά από ένα αρχείο, υποθέτουμε ότι έχουμε ένα αρχείο με το όνομα test.txt στον φάκελο src .

Εδώ είναι το περιεχόμενο του test.txt

 Αυτό είναι ένα αρχείο δοκιμής.

Παράδειγμα 1: Δημιουργία συμβολοσειράς από αρχείο

 import java.nio.charset.Charset import java.nio.file.Files import java.nio.file.Paths fun main(args: Array) ( val path = System.getProperty("user.dir") + "\src\test.txt" val encoding = Charset.defaultCharset(); val lines = Files.readAllLines(Paths.get(path), encoding) println(lines) )

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 (Αυτό είναι ένα, αρχείο δοκιμής.)

Στο παραπάνω πρόγραμμα, χρησιμοποιούμε Systemτην user.dirιδιότητα για να αποθηκεύσουμε τον τρέχοντα κατάλογο στη μεταβλητή διαδρομή. Ελέγξτε το πρόγραμμα Kotlin για να λάβετε τον τρέχοντα κατάλογο για περισσότερες πληροφορίες.

Χρησιμοποιήσαμε defaultCharset()για την κωδικοποίηση του αρχείου. Εάν γνωρίζετε την κωδικοποίηση, χρησιμοποιήστε την, αλλιώς είναι ασφαλές να χρησιμοποιήσετε την προεπιλεγμένη κωδικοποίηση.

Στη συνέχεια, χρησιμοποιήσαμε readAllLines()μέθοδο για την ανάγνωση όλων των γραμμών από το αρχείο. Παίρνει διαδρομή του αρχείου και της κωδικοποίησής του και επιστρέφει όλες τις γραμμές ως λίστα όπως φαίνεται στην έξοδο.

Επειδή, το readAllLines μπορεί επίσης να ρίξει ένα IOException, πρέπει να ορίσουμε την κύρια μέθοδο μας ως έχει

 public static void main (String () args) ρίχνει το IOException

Παράδειγμα 2: Δημιουργία συμβολοσειράς από ένα αρχείο

 import java.nio.charset.Charset import java.nio.file.Files import java.nio.file.Paths fun main(args: Array) ( val path = System.getProperty("user.dir") + "\src\test.txt" val encoding = Charset.defaultCharset() val encoded = Files.readAllBytes(Paths.get(path)) val lines = String(encoded, encoding) println(lines) )

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 Αυτό είναι ένα αρχείο δοκιμής.

Στο παραπάνω πρόγραμμα, αντί να λαμβάνουμε μια λίστα συμβολοσειρών, έχουμε μια μεμονωμένη συμβολοσειρά, γραμμές, με όλο το περιεχόμενο.

Για αυτό, χρησιμοποιήσαμε τη readAllBytes()μέθοδο για την ανάγνωση όλων των byte από τη δεδομένη διαδρομή. Αυτά τα byte στη συνέχεια μετατρέπονται σε συμβολοσειρά χρησιμοποιώντας την προεπιλεγμένη κωδικοποίηση.

Εδώ είναι ο ισοδύναμος κώδικας Java: πρόγραμμα Java για τη δημιουργία μιας συμβολοσειράς από τα περιεχόμενα ενός αρχείου.

ενδιαφέροντα άρθρα...