basic i o operations java
Σε αυτό το εκπαιδευτικό βίντεο, θα συζητήσουμε τον μηχανισμό εισόδου-εξόδου Java όπως Java User Input, InputStream, Java Printf, Println κ.λπ. με τυπικές συσκευές I / O:
Σε κάθε γλώσσα προγραμματισμού, πρέπει να διαθέτουμε έναν μηχανισμό για την ανάγνωση των δεδομένων εισόδου και επίσης την αποστολή των επεξεργασμένων δεδομένων που είναι επίσης γνωστά ως Έξοδος στον τελικό χρήστη.
Όπως γνωρίζετε, υπάρχουν πολλές συσκευές εισόδου και εξόδου στον κόσμο του λογισμικού που μπορούν να χρησιμοποιήσουν οι προγραμματιστές για να διαβάζουν δεδομένα από και να γράφουν ή να εξάγουν δεδομένα.
Διαβάστε μας Ολοκληρωμένη σειρά εκπαίδευσης Java για να αποκτήσετε περισσότερες πληροφορίες σχετικά με τις έννοιες Java.
Τι θα μάθετε:
- Εκπαιδευτικό βίντεο για βασικές λειτουργίες εισόδου / εξόδου στην Java
- Πρόσθετα παραδείγματα - Ροές εισόδου / εξόδου
- συμπέρασμα
Εκπαιδευτικό βίντεο για βασικές λειτουργίες εισόδου / εξόδου στην Java
Χρησιμοποιώντας ένα πρόγραμμα Java, μπορείτε να διαβάσετε και να γράψετε δεδομένα από διαφορετικές πηγές και προορισμούς. Οι πηγές και οι προορισμοί ανάγνωσης και γραφής περιλαμβάνουν:
- Αρχεία
- Σωλήνες
- Δικτυακές συνδέσεις
- Ενδιάμεσες μνήμες ( Π.χ: συστοιχίες)
- System.in, System.out, System.error
Σε αυτό το σεμινάριο βίντεο, θα έχουμε την εισαγωγή ως αρχείο και θα διερευνήσουμε διάφορες κατηγορίες, διεπαφές και μεθόδους που είναι διαθέσιμες για την ανάγνωση δεδομένων από το αρχείο.
Βασικές λειτουργίες IO στην Java:
Λειτουργίες αρχείων Java:
ποιος είναι ο σκοπός της δοκιμής αποδοχής χρηστών
Το Java I / O (Input-Output) είναι ένας τυπικός μηχανισμός που επεξεργάζεται την είσοδο και παράγει την έξοδο. Το πακέτο 'java.io' περιέχει τις μεθόδους για την εκτέλεση όλων των λειτουργιών εισόδου και εξόδου.
Για την ταχύτερη εκτέλεση λειτουργιών εισόδου / εξόδου, η Java χρησιμοποιεί την έννοια των ροών. Μια ροή μπορεί να οριστεί ως μια ακολουθία δεδομένων που αποτελείται από byte.
Ας μάθουμε περισσότερα για τις ροές Java I / O !!
Τυπικές ροές εισόδου / εξόδου στην Java
Η γλώσσα Java προσφέρει πρόσβαση σε πόρους συστήματος, τυπικές συσκευές εισόδου-εξόδου, κ.λπ. χρησιμοποιώντας μια κλάση «Σύστημα». Αυτή η τάξη εφαρμόζει μια διεπαφή προγραμματισμού που εξαρτάται από το σύστημα για πρόσβαση σε διάφορους πόρους.
Η κλάση συστήματος ανήκει στο πακέτο 'java.lang' της Java. Εκτός από την παροχή τυπικών ροών εισόδου / εξόδου, η κλάση συστήματος παρέχει επίσης πρόσβαση σε μεταβλητές περιβάλλοντος, εξωτερικές μεταβλητές, φόρτωση αρχείων και βιβλιοθήκες, καθώς και έναν πίνακα μεθόδων χρησιμότητας Αντιγραφή για αντιγραφή μέρους ενός πίνακα.
Δεδομένου ότι αυτό το σεμινάριο βασίζεται μόνο στο πρότυπο I / O, θα παραλείψουμε τις υπόλοιπες εγκαταστάσεις που παρέχονται από την κλάση συστήματος εδώ.
Από άποψη εισόδου-εξόδου, η κλάση συστήματος προσφέρει τις ακόλουθες ροές:
# 1) Τυπική ροή εισόδου (System.in)
Η ροή εισόδου που παρέχεται από την κλάση συστήματος, System.in χρησιμοποιείται για την ανάγνωση των δεδομένων εισόδου από μια τυπική συσκευή εισόδου, όπως πληκτρολόγιο.
Η ροή παραμένει ανοιχτή και είναι έτοιμη να διαβάσει τα δεδομένα που παρέχονται από τον χρήστη στην τυπική συσκευή εισόδου.
Το παρακάτω παράδειγμα δείχνει τη συνάρτηση System.in.read για την ανάγνωση ενός ακέραιου ψηφίου.
public class Main { public static void main(String args()) throws java.io.IOException { int ch; System.out.println('Enter the character to be displayed : '); ch = System.in.read(); System.out.println('You entered : ' + (char)ch); } }
Παραγωγή:
# 2) Τυπική ροή εξόδου (System.out)
Η διεπαφή System.out της κλάσης συστήματος χρησιμοποιείται για την εγγραφή της εξόδου προγράμματος στην τυπική συσκευή εξόδου όπως η οθόνη. Στις περισσότερες περιπτώσεις, η διεπαφή System.out γράφει την έξοδο εντολών στην τυπική συσκευή εξόδου.
Χρησιμοποιεί τρεις μεθόδους από την κλάση 'PrintStream' καθώς η τυπική έξοδος προέρχεται από αυτήν την κλάση.
Αυτές οι μέθοδοι είναι:
- Τυπώνω
- εκτύπωση
- γράφω
Οι μέθοδοι 'print' και 'println' έχουν την ίδια λειτουργικότητα εκτός από μία μόνο διαφορά που η μέθοδος println προσθέτει έναν χαρακτήρα νέας γραμμής ( n) στην έξοδο.
Η μέθοδος εγγραφής δεν χρησιμοποιείται συχνά εκτός από περιπτώσεις στις οποίες πρέπει να εμφανίζονται δεδομένα εκτός ASCII.
Το ακόλουθο παράδειγμα δείχνει τη ροή System.out.
public class Main { public static void main(String args()) throws java.io.IOException { String stringType = 'Java Tutorial Series'; char() charTypeArray = { 'a', 'e', 'i', 'o', 'u' }; boolean booleanType = true; int integerType = 10; double doubleType = Math.PI; long longType = Long.MAX_VALUE; float floatType = Float.MIN_VALUE; System.out.println('String::' + stringType); System.out.print('Character::'); System.out.println(charTypeArray); System.out.println('Boolean::' + booleanType); System.out.println('Integer::' + integerType); System.out.println('Double::' + doubleType); System.out.println('Long::' + longType); System.out.println('Float::' + floatType); } }
Παραγωγή:
Το παραπάνω πρόγραμμα δείχνει τις λειτουργίες 'εκτύπωση' και 'εκτύπωση' που χρησιμοποιούνται με τη διασύνδεση System.out. Εδώ έχουμε ορίσει μεταβλητές διαφορετικών τύπων δεδομένων και εμφανίζουμε καθεμία από αυτές χρησιμοποιώντας τη διεπαφή System.out.
# 3) Τυπική ροή σφαλμάτων (System.err)
Η τυπική ροή σφαλμάτων, System.err χρησιμοποιείται για την εμφάνιση σφαλμάτων, εάν υπάρχουν, κατά την εκτέλεση του προγράμματος.
Όπως η ροή System.out, η ροή σφαλμάτων υποστηρίζει επίσης τις τρεις μεθόδους της κλάσης PrintStream, της εκτύπωσης, της εκτύπωσης και της εγγραφής.
Μέθοδοι ανάγνωσης εισόδου από την κονσόλα
Εκτός από τη ροή εισόδου που περιγράφεται παραπάνω, υπάρχουν μερικές ακόμη μέθοδοι με τις οποίες μπορούμε να διαβάσουμε δεδομένα εισόδου από την κονσόλα στην Java.
Αυτές οι μέθοδοι συζητούνται παρακάτω.
# 1) Class BufferedReader
Η κλάση BufferedReader παρουσιάστηκε για πρώτη φορά στο JDK 1.0 και είναι η κλασική μέθοδος ανάγνωσης δεδομένων εισόδου από την κονσόλα.
Η ροή εισόδου (System.in) είναι τυλιγμένη μέσα στην κλάση InputStreamReader η οποία με τη σειρά της τυλίγεται σε BufferedReader.
Το παρακάτω πρόγραμμα δείχνει τη χρήση της κατηγορίας BufferedReader για την ανάγνωση δεδομένων εισόδου από τον χρήστη.
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String() args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.println('Enter the input string'); String name = reader.readLine(); System.out.println('You entered: ' + name); } }
Παραγωγή:
Στο παραπάνω πρόγραμμα, έχουμε δηλώσει ένα αντικείμενο της κλάσης BufferedReader που έχει αρχικοποιηθεί στη ροή System.in. Χρησιμοποιώντας αυτό το αντικείμενο, διαβάζουμε μια ολόκληρη γραμμή εισόδου.
Όπως μπορείτε να δείτε, μπορείτε να διαβάσετε ολόκληρα τα buffered δεδομένα καθιστώντας αυτήν τη λειτουργικότητα πολύ αποτελεσματική. Το μόνο μειονέκτημα είναι ο κρυπτικός κώδικας που μπορεί να είναι δύσκολο να θυμάστε κάθε φορά.
# 2) Τάξη κονσόλας
Η κλάση 'System.console' μπορεί να χρησιμοποιηθεί για την ανάγνωση εισόδων από την κονσόλα. Αυτό χρησιμοποιείται για την ειδική ανάγνωση χαρακτήρων εισαγωγής, όπως ένας κωδικός πρόσβασης από τη γραμμή εντολών.
Η μέθοδος ανάγνωσης δεδομένων εισαγωγής χρησιμοποιώντας την τάξη της κονσόλας είναι σήμερα η πιο αποτελεσματική και προτιμώμενη μέθοδος στην Java.
Το ακόλουθο πρόγραμμα δείχνει την κλάση System.console.
public class Main { public static void main(String() args) { System.out.println('Enter the input string'); String name = System.console().readLine(); System.out.println('You entered: ' + name); } }
Παραγωγή:
Χρησιμοποιώντας την κλάση System.console, μπορείτε να διαβάσετε τους χαρακτήρες εισαγωγής χωρίς να ακούσετε τους χαρακτήρες. Ως εκ τούτου, αυτή η μέθοδος είναι πιο χρήσιμη για την ανάγνωση κωδικών πρόσβασης. Δεύτερον, μπορείτε επίσης να χρησιμοποιήσετε συμβολοσειρές μορφοποίησης για να μορφοποιήσετε τα δεδομένα εισόδου, παρόμοια με αυτά που χρησιμοποιούνται στο System.out.printf ().
Αν και αυτός είναι ο προτιμώμενος τρόπος ανάγνωσης δεδομένων εισόδου, σημειώστε ότι η κλάση System.console δεν μπορεί να χρησιμοποιηθεί με περιβάλλον Διαδραστικής Java όπως IDE.
# 3) Σαρωτής
Η χρήση μιας κλάσης σαρωτή για την ανάγνωση δεδομένων εισόδου είναι πιθανώς η πιο γρήγορη και προτιμώμενη μέθοδος. Ο σαρωτής χρησιμοποιείται κυρίως για την ανάλυση των τύπων δεδομένων συμπεριλαμβανομένων των πρωτόγονων τύπων και συμβολοσειρών. Αλλά μπορεί επίσης να χρησιμοποιηθεί για να διαβάσει τα δεδομένα εισόδου και να τα αναλύσει χρησιμοποιώντας εισερχόμενη είσοδο.
Η κλάση σαρωτή χρησιμοποιεί τυπικές εκφράσεις για το σκοπό αυτό.
Το ακόλουθο πρόγραμμα διαβάζει τα δεδομένα εισόδου από το χρήστη χρησιμοποιώντας την κλάση σαρωτή.
import java.util.Scanner; class Main { public static void main(String args()) { Scanner myscan = new Scanner(System.in); System.out.println('Enter the input:'); String mystr = myscan.nextLine(); System.out.println('You entered a string:'+mystr); System.out.println('Enter Next input:'); int num = myscan.nextInt(); System.out.println('You entered an integer:'+num); } }
Παραγωγή:
Στο παραπάνω πρόγραμμα, χρησιμοποιήσαμε την κλάση σαρωτή για να διαβάσουμε τη συμβολοσειρά και τα ακέραια δεδομένα.
Μορφοποίηση εξόδου σε Java χρησιμοποιώντας printf
Έχουμε ήδη δει πώς να εμφανίσουμε την έξοδο σε ένα πρόγραμμα Java. Σε αυτήν την ενότητα, θα δούμε πώς να μορφοποιήσουμε αυτήν την έξοδο. Χρησιμοποιούμε τη λειτουργία printf της κλάσης 'PrintStream' μαζί με τη ροή 'System.out' της Java για το σκοπό αυτό.
Η λειτουργία printf στη Java είναι παρόμοια με τη λειτουργία printf στο C / C ++. Σε αντίθεση με τις λειτουργίες System.out.print και System.out.println που λαμβάνουν ένα μόνο όρισμα, το System.out.printf παίρνει περισσότερα από ένα ορίσματα.
Ακολουθούν οι παραλλαγές της λειτουργίας printf στην Java.
Οχι | Πρωτότυπο λειτουργίας | Περιγραφή |
---|---|---|
ένας | System.out.printf (συμβολοσειρά); | Εκτυπώνει μια συμβολοσειρά που παρέχεται στο όρισμα χωρίς καμία μορφοποίηση |
δύο | System.out.printf (μορφή, ορίσματα); | Εκτυπώνει την έξοδο χρησιμοποιώντας καθορισμένη συμβολοσειρά μορφής «μορφή» και ορίσματα. |
3 | System.out.printf (τοπικές ρυθμίσεις, μορφή, ορίσματα); | Εκτυπώνει την έξοδο χρησιμοποιώντας καθορισμένη συμβολοσειρά μορφής εφαρμόζοντας τοπικές ρυθμίσεις και τα ορίσματα. |
Σημειώστε ότι η συνάρτηση System.out.format () είναι η ίδια με το System.out.printf ().
Η γενική σύνταξη για τον καθορισμό της συμβολοσειράς μορφής έχει ως εξής:
%specifier => + for right-aligning, - for left-aligning. => to specify leading/trailing zeros and precision => suggests the data type.
Για παράδειγμα:
System.out.println(“ ‘%05.2f’%n”, 2.28);
Θα δημιουργήσει την ακόλουθη έξοδο:
«02.28»
Θα συζητήσουμε λεπτομερώς το printf στην Java στα επόμενα θέματα αυτού του σεμιναρίου.
Συχνές Ερωτήσεις
Q # 1) Τι είναι η τυπική είσοδος και η τυπική έξοδος;
Απάντηση: Οι τυπικές ροές εισόδου και εξόδου είναι συνδεδεμένα κανάλια για επικοινωνία μεταξύ του προγράμματος υπολογιστή και του εξωτερικού περιβάλλοντος όταν το πρόγραμμα ξεκινά την εκτέλεση του. Τα τρία διαφορετικά πρότυπα ροής I / O είναι η τυπική είσοδος (stdin), η τυπική έξοδος (stdout), το τυπικό σφάλμα (stderr).
μετατροπέας youtube σε mp4 υψηλής ποιότητας
Ε # 2) Τι είναι η τυπική είσοδος στον προγραμματισμό;
Απάντηση: Η τυπική είσοδος ή stdin είναι η ροή που χρησιμοποιείται για την ανάγνωση εισόδου από μια τυπική συσκευή εισόδου όπως ένα πληκτρολόγιο.
Q # 3) Τι είναι η ροή εισόδου-εξόδου;
Απάντηση: Μια ροή εισόδου-εξόδου αντιπροσωπεύει μια πηγή από την οποία διαβάζετε την είσοδο και τον προορισμό στον οποίο κατευθύνετε την έξοδο.
Μια ροή, γενικά, αντιπροσωπεύει πολλές συσκευές που χρησιμοποιούνται ως πηγή και προορισμοί, δηλαδή πληκτρολόγιο, αρχείο δίσκου, οθόνες κ.λπ.
Q # 4) Τι είναι η τυπική είσοδος στην Java;
Απάντηση: Η τυπική είσοδος σε Java παρέχεται από την κλάση συστήματος ως ροή System.in. Η κλάση συστήματος είναι μέρος του πακέτου java.lang.
Q # 5) Ποια είναι η τυπική έξοδος στην Java;
Απάντηση: Η τυπική έξοδος σε Java παρέχεται από την κλάση συστήματος ως ροή System.out. Η κλάση συστήματος είναι μέρος του πακέτου java.lang.
Πρόσθετα παραδείγματα - Ροές εισόδου / εξόδου
Οι ροές αντιπροσωπεύουν τη ροή δεδομένων και τα δεδομένα μπορούν να είναι σε οποιαδήποτε μορφή (όπως byte, κείμενο, πρωτόγονος τύπος δεδομένων, κ.λπ.). Για να γράψετε δεδομένα σε έναν προορισμό, χρησιμοποιείται η ροή εξόδου και για να διαβάσετε τα δεδομένα, χρησιμοποιείται η ροή εισόδου.
Διαφορετικές μορφές για ανάγνωση και γραφή
Η είσοδος / έξοδος μπορεί να διαβαστεί / εγγραφεί ως οι ακόλουθες διαφορετικές μορφές:
# 1) Ανάγνωση αρχείου ως ροή Byte
Εδώ τα δεδομένα θα διαβαστούν σε μορφή byte. « FileInputStream ' και ' FileOutputStream «Τα μαθήματα χρησιμοποιούνται για την ανάγνωση του περιεχομένου ως byte. Με αυτόν τον τρόπο, για κάθε byte, ο μεταγλωττιστής θα στείλει ένα αίτημα στο λειτουργικό σύστημα.
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class ByteStreamsDemo { public static void main(String() args) throws IOException { FileInputStream fin =null; FileOutputStream fout =null; try { fin=new FileInputStream('input.txt'); fout=new FileOutputStream('out.txt'); int c; while((c=fin.read() )!= -1) { fout.write(c); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { if(fin!=null) { fin.close(); }if(fout!=null) { fout.close(); } } } }
# 2) Ανάγνωση αρχείου ως ροή χαρακτήρων
Με αυτόν τον τρόπο, η ροή εισόδου θα διαβαστεί σε μορφή χαρακτήρων. Έτσι, για κάθε χαρακτήρα, ο μεταγλωττιστής θα στείλει ένα αίτημα στο λειτουργικό σύστημα. « FileReader ' και ' FileWriter ' μαθήματα είναι χρήσιμα για την ανάγνωση του περιεχομένου ως χαρακτήρα.
public class CharStreamDemo { public static void main(String() args) throws IOException { FileReader input = null; FileWriter output = null; try { input = new FileReader('input.txt'); output = new FileWriter('out1.txt'); int c; while ((c = input.read()) != -1) { output.write(c); } } finally { if (input != null) { input.close(); } if (output != null) { output.close(); } } } }
# 3) Αποθήκευση της ροής εισόδου / εξόδου
Όταν χρησιμοποιείτε τις κατηγορίες FileInputStream ή FileReader, για κάθε λειτουργία ανάγνωσης ή εγγραφής, θα σταλεί ένα νέο αίτημα στο λειτουργικό σύστημα. Αυτό μπορεί να οδηγήσει σε προβλήματα απόδοσης. Προκειμένου να αποφευχθεί αυτό το BufferedInputStream ή το BufferedReader, οι κλάσεις χρησιμοποιούνται για την αναδίπλωση τάξεων που δεν έχουν προσφερθεί.
Αυτό διαβάζει τη ροή εισόδου όταν το buffer είναι κενό.
Ομοίως, το FileOutputStream ή το FileWriter, οι τάξεις τυλίγονται με το BufferedOutputStream ή το BufferedWriter για να γράψουν την έξοδο μόλις γεμίσει το buffer.
public class BufferedStreamDemo { public static void main(String() args) throws IOException { BufferedReader input = null; BufferedWriter output = null; try { input = new BufferedReader(new FileReader('input.txt')); output = new BufferedWriter(new FileWriter('out1.txt')); int c; while ((c = input.read()) != -1) { output.write(c); } } finally { if (input != null) { input.close(); } if (output != null) { output.close(); } } } }
# 4) Ανάγνωση ως ροή δεδομένων
Σε αυτήν τη μέθοδο, οι κλάσεις DataInputStream ή DataOutputStream, χρησιμοποιούνται για την ανάγνωση και την εγγραφή του περιεχομένου ως πρωτόγονοι τύποι δεδομένων, όπως boolean, char, byte, short, int, long, float, double και String. Κυρίως τα DataInputStream και DataOutputStream θα χρησιμοποιηθούν μαζί.
public class DataInputOutputStreamDemo { public static void main(String() args) { File file = new File('read.bin'); FileOutputStream fos = null; DataOutputStream dos = null; try { fos=new FileOutputStream(file); dos=new DataOutputStream(fos); dos.writeInt(50244); dos.writeDouble(400.253); dos.writeChar('d'); dos.flush(); } catch (IOException e) { e.printStackTrace(); }finally { try { if(fos!=null){ fos.close(); } if(dos!=null){ dos.close(); } } catch (Exception e) { e.printStackTrace(); } } /*Reading operation */ FileInputStream fis = null; DataInputStream dis = null; try { fis = new FileInputStream(file); dis = new DataInputStream(fis); System.out.println(dis.readInt()); System.out.println(dis.readDouble()); System.out.println(dis.readChar()); } catch (IOException e) { e.printStackTrace(); }finally { try { if(fis!=null){ fis.close(); } if(dis!=null){ dis.close(); } } catch (Exception e) { e.printStackTrace(); } } } }
# 5) Διαβάζοντας ως ροή αντικειμένων
ObjectInputStream / ObjectOutputStream, οι τάξεις είναι χρήσιμες για την εγγραφή αντικειμένων σε ένα αρχείο και την ανάγνωση των αντικειμένων από το αρχείο. Για την αποθήκευση του αντικειμένου σε ένα αρχείο, η κλάση πρέπει να εφαρμόσει τη διεπαφή Serializable.
public class ObjectStreamDemo implements Serializable { int age ; String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
Θα δημιουργήσουμε ένα αντικείμενο για αυτήν την κλάση 'ObjectStreamDemo' και θα γράψουμε αυτό το αντικείμενο σε ένα αρχείο και θα διαβάσουμε το ίδιο αντικείμενο από αυτό το αρχείο.
public class ObjectStreamDemoTest { public static void main(String() args) { // TODO Auto-generated method stub ObjectStreamDemo obj=new ObjectStreamDemo(); obj.setAge(32); obj.setName('bob'); try { FileOutputStream fos = new FileOutputStream('t.tmp'); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeObject(obj); oos.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } FileInputStream fis; ObjectInputStream ois; try { fis = new FileInputStream('t.tmp'); ois = new ObjectInputStream(fis); ObjectStreamDemo obj1 = (ObjectStreamDemo)ois.readObject(); System.out.println(obj1.name); System.out.println(obj1.age); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch(Exception e) { e.printStackTrace(); } } }
Λειτουργίες I / O File
Η κλάση αρχείων είναι χρήσιμη για τη λειτουργία αρχείων.
Μερικές από τις λειτουργίες αρχείων που εκτελούνται χρησιμοποιώντας την κατηγορία αρχείων περιλαμβάνουν:
- Δημιουργήστε ένα αρχείο
- Ελέγξτε εάν το αρχείο υπάρχει
- Λάβετε τη διαδρομή του αρχείου
- Γράψτε το αρχείο
- Διαβάστε το αρχείο
- Διαγράψτε ένα αρχείο και μετονομάστε το αρχείο
- Ελέγξτε τα δικαιώματα αρχείου και αλλάξτε τα δικαιώματα αρχείου
- Μετακίνηση του αρχείου από έναν κατάλογο σε άλλη τοποθεσία
Πρόγραμμα επίδειξης για τη δημιουργία, ανάγνωση και εγγραφή του αρχείου:
public class CreateFileDemo { public static void main(String() args) throws IOException { File newfile=new File('created.txt'); if(!newfile.exists()) { newfile.createNewFile(); System.out.println('file not exist'); } try { String FILENAME='created.txt'; String content='hi how are u'; FileWriter fwt = new FileWriter(FILENAME); BufferedWriter bwt = new BufferedWriter(fwt); bwt.write(content); System.out.println('writing completed ...'); bwt.close(); } catch (IOException e) { e.printStackTrace(); } } }
Βασικά σημεία που πρέπει να σημειωθούν:
- Η ροή είναι μια λογική αναπαράσταση της ροής δεδομένων.
- Μπορείτε να διαβάσετε / γράψετε δεδομένα σε διαφορετική μορφή όπως byte, χαρακτήρα, αντικείμενο, πρωτόγονος τύπος δεδομένων.
- Η κατηγορία αρχείων χρησιμοποιείται για τη δημιουργία ενός αρχείου, τη διαγραφή του αρχείου και τη Μετακίνηση ή αντιγραφή ή μετονομασία του αρχείου.
- Το BufferedInputStream ή το BufferedOutputStream χρησιμοποιείται για τη βελτίωση της απόδοσης με προσωρινή αποθήκευση των δεδομένων.
συμπέρασμα
Η Java διαθέτει ένα πακέτο java.lang που παρέχει τις τυπικές εγκαταστάσεις εισόδου και εξόδου χρησιμοποιώντας την κλάση συστήματος.
Εκτός από τις ροές, το System.in και το System.out που χρησιμοποιούνται για τυπική είσοδο και έξοδο αντίστοιχα, υπάρχουν και άλλες μέθοδοι όπως το BufferedReader, η τάξη κονσόλας και η κλάση σαρωτή που χρησιμοποιούνται για την ανάγνωση εισόδου από τον χρήστη.
Η ροή System.out χρησιμοποιεί τη λειτουργία κλάσης 'PrintStream', εκτύπωση και println για να εμφανίσει την έξοδο. Αυτές είναι οι λειτουργίες που χρησιμοποιούνται για την εμφάνιση της εξόδου χωρίς μορφοποίηση. Μια άλλη λειτουργία 'printf' που είναι παρόμοια με τη λειτουργία printf στο C / C ++ χρησιμοποιείται επίσης στην Java για μορφοποιημένη έξοδο.
Θα εξερευνήσουμε περισσότερα σχετικά με την κλάση σαρωτή και τη λειτουργία printf στην Java στα επερχόμενα σεμινάρια μας.
=> Επισκεφτείτε εδώ για την αποκλειστική σειρά εκπαιδευτικών εκμάθησης Java.
Εκπαιδευτικό πρόγραμμα PREV | ΕΠΟΜΕΝΟ Φροντιστήριο
Συνιστώμενη ανάγνωση
- Βασικές λειτουργίες εισόδου / εξόδου στο C ++
- Λειτουργίες εξόδου εισόδου αρχείου σε C ++
- Εκμάθηση Java Συλλογές Πλαίσιο (JCF)
- Ανάπτυξη Java: Δημιουργία και εκτέλεση αρχείου Java JAR
- Java Virtual Machine: Πώς βοηθά το JVM στην εκτέλεση της εφαρμογής Java
- Είσοδος-έξοδος και αρχεία στο Python (Python Open, Read and Write to File)
- Πρόσβαση τροποποιητών σε Java - Εκμάθηση με παραδείγματα
- Εκμάθηση Java Reflection με παραδείγματα