Σε αυτό το πρόγραμμα, θα μάθετε διαφορετικές τεχνικές για να δημιουργήσετε μια συμβολοσειρά από παραχωρήσεις ενός δεδομένου αρχείου στην Java.
Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες εφαρμογές προγραμματισμού Java:
- Συμβολοσειρά Java
- Τάξη αρχείων Java
Πριν δημιουργήσουμε μια συμβολοσειρά από ένα αρχείο, υποθέτουμε ότι έχουμε ένα αρχείο με το όνομα test.txt στον φάκελο src .
Εδώ είναι το περιεχόμενο του test.txt
Αυτό είναι ένα αρχείο δοκιμής.
Παράδειγμα 1: Δημιουργία συμβολοσειράς από αρχείο
import java.io.IOException; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Paths; import java.util.List; public class FileString ( public static void main(String() args) throws IOException ( String path = System.getProperty("user.dir") + "\src\test.txt"; Charset encoding = Charset.defaultCharset(); List lines = Files.readAllLines(Paths.get(path), encoding); System.out.println(lines); ) )
Παραγωγή
(Αυτό είναι ένα, αρχείο δοκιμής.)
Στο παραπάνω πρόγραμμα, χρησιμοποιούμε System
την user.dir
ιδιότητα για να αποθηκεύσουμε τον τρέχοντα κατάλογο στη μεταβλητή διαδρομή. Ελέγξτε το πρόγραμμα Java για να λάβετε τον τρέχοντα κατάλογο για περισσότερες πληροφορίες.
Χρησιμοποιήσαμε defaultCharset()
για την κωδικοποίηση του αρχείου. Εάν γνωρίζετε την κωδικοποίηση, χρησιμοποιήστε την, αλλιώς είναι ασφαλές να χρησιμοποιήσετε την προεπιλεγμένη κωδικοποίηση.
Στη συνέχεια, χρησιμοποιήσαμε readAllLines()
μέθοδο για την ανάγνωση όλων των γραμμών από το αρχείο. Παίρνει τη διαδρομή του αρχείου και την κωδικοποίησή του και επιστρέφει όλες τις γραμμές ως λίστα όπως φαίνεται στην έξοδο.
Επειδή readAllLines
μπορεί επίσης να ρίξει μια IOException, πρέπει να ορίσουμε την κύρια μέθοδο μας ως έχει
public static void main (String () args) ρίχνει το IOException
Παράδειγμα 2: Δημιουργία συμβολοσειράς από ένα αρχείο
import java.io.IOException; import java.nio.charset.Charset; import java.nio.file.Files; import java.nio.file.Paths; public class FileString ( public static void main(String() args) throws IOException ( String path = System.getProperty("user.dir") + "\src\test.txt"; Charset encoding = Charset.defaultCharset(); byte() encoded = Files.readAllBytes(Paths.get(path)); String lines = new String(encoded, encoding); System.out.println(lines); ) )
Παραγωγή
Αυτό είναι ένα αρχείο δοκιμής.
Στο παραπάνω πρόγραμμα, αντί να λαμβάνουμε μια λίστα συμβολοσειρών, έχουμε μια μεμονωμένη συμβολοσειρά, γραμμές, με όλο το περιεχόμενο.
Για αυτό, χρησιμοποιήσαμε τη readAllBytes()
μέθοδο για την ανάγνωση όλων των byte από τη δεδομένη διαδρομή. Αυτά τα byte στη συνέχεια μετατρέπονται σε συμβολοσειρά χρησιμοποιώντας την προεπιλεγμένη κωδικοποίηση.