Luồng Dữ Liệu Trong Java | TECHRUM.VN

  • Bài viết mới
  • Tìm kiếm diễn đàn
Menu Đăng nhập Đăng ký
  • Diễn Đàn
  • Giáo dục - Đào tạo - Việc làm
  • Thông tin - Thảo luận
Luồng dữ liệu trong Java
  • Tạo bởi nuongitq
  • Start date 7/12/15

nuongitq

New Member
7/12/15 #1 Tham gia 6/8/14 Bài viết 39 Được thích 5 Chúng tôi sẽ xem ví dụ một phổ biến nhất được sử dụng bởi một: Byte Streams Luồng byte Java được sử dụng để thực hiện các đầu vào và đầu ra của các byte 8-bit. Mặc dù có rất nhiều lớp học liên quan đến byte suối, nhưng các lớp học thường xuyên được sử dụng nhất là, FileInputStream và FileOutputStream. Sau đây là một ví dụ mà làm cho sử dụng hai lớp học để sao chép một tập tin đầu vào một tập tin đầu ra: Code: import java.io.*; public class CopyFile { public static void main(String args[]) throws IOException { FileInputStream in = null; FileOutputStream out = null; try { in = new FileInputStream("input.txt"); out = new FileOutputStream("output.txt"); int c; while ((c = in.read()) != -1) { out.write(c); } }finally { if (in != null) { in.close(); } if (out != null) { out.close(); } } } } Bây giờ chúng ta hãy có một INPUT.TXT tập tin với các nội dung sau đây: Đây là thử nghiệm cho tập tin sao chép. Bước tiếp theo, biên dịch trên chương trình và thực hiện nó, mà sẽ cho kết quả trong việc tạo ra output.txt tập tin với nội dung tương tự như chúng ta có trong INPUT.TXT. Vì vậy, chúng ta hãy đặt mã trên trong tập tin CopyFile.java và làm như sau: Code: $javac CopyFile.java $java CopyFile Character Streams Java Byte luồng được sử dụng để thực hiện các đầu vào và đầu ra của các byte 8-bit, nơi mà như suối Character Java được sử dụng để thực hiện các đầu vào và đầu ra cho 16-bit unicode. Mặc dù có rất nhiều lớp học liên quan đến các dòng nhân vật nhưng các lớp học thường xuyên được sử dụng nhất là, FileReader và FileWriter .. Mặc dù nội FileReader sử dụng FileInputStream và FileOutputStream FileWriter sử dụng nhưng ở đây khác biệt chính là FileReader đọc hai byte tại một thời điểm và FileWriter viết hai byte tại một thời gian. Chúng ta có thể viết lại ví dụ trên mà làm cho sử dụng hai lớp học để sao chép một tập tin đầu vào (có ký tự unicode) vào một tập tin đầu ra: Code: import java.io.*; public class CopyFile { public static void main(String args[]) throws IOException { FileReader in = null; FileWriter out = null; try { in = new FileReader("input.txt"); out = new FileWriter("output.txt"); int c; while ((c = in.read()) != -1) { out.write(c); } }finally { if (in != null) { in.close(); } if (out != null) { out.close(); } } } } Xem thêm: Khóa học lâp trình android cơ bản nâng cao tại Hà nội ! Bây giờ chúng ta hãy có một INPUT.TXT tập tin với các nội dung sau đây: Đây là thử nghiệm cho tập tin sao chép. Bước tiếp theo, biên dịch trên chương trình và thực hiện nó, mà sẽ cho kết quả trong việc tạo ra output.txt tập tin với nội dung tương tự như chúng ta có trong INPUT.TXT. Vì vậy, chúng ta hãy đặt mã trên trong tập tin CopyFile.java và làm như sau: Code: $javac CopyFile.java $java CopyFile chuẩn Streams Tất cả các ngôn ngữ lập trình hỗ trợ cho các tiêu chuẩn I / O, nơi chương trình của người sử dụng có thể lấy đầu vào từ bàn phím và sau đó sản xuất ra trên màn hình máy tính. Nếu bạn nhận thức được nếu C hoặc C ++ ngôn ngữ lập trình, sau đó bạn phải được nhận thức của ba thiết bị tiêu chuẩn stdin, stdout và stderr. Cách tương tự như Java cung cấp ba dòng tiêu chuẩn sau đây Tiêu chuẩn đầu vào: này được sử dụng để nuôi các dữ liệu vào chương trình của người sử dụng và thường là một bàn phím được sử dụng như dòng đầu vào tiêu chuẩn và đại diện là System.in. Chuẩn đầu ra: Điều này được sử dụng để sản xuất các dữ liệu sản xuất của chương trình của người sử dụng và thường là một màn hình máy tính được sử dụng cho các dòng đầu ra tiêu chuẩn và đại diện là System.out. Chuẩn Lỗi: Điều này được sử dụng để sản xuất các dữ liệu lỗi được sản xuất bởi một chương trình của người sử dụng và thường là một màn hình máy tính được sử dụng cho các dòng lỗi chuẩn và đại diện là System.err. Sau đây là một chương trình đơn giản mà tạo ra InputStreamReader để đọc dòng đầu vào tiêu chuẩn cho đến khi người dùng gõ một "q": Code: import java.io.*; public class ReadConsole { public static void main(String args[]) throws IOException { InputStreamReader cin = null; try { cin = new InputStreamReader(System.in); System.out.println("Enter characters, 'q' to quit."); char c; do { c = (char) cin.read(); System.out.print(c); } while(c != 'q'); }finally { if (cin != null) { cin.close(); } } } } Hãy giữ mã trên trong tập tin ReadConsole.java và cố gắng để biên dịch và thực hiện nó như dưới đây. Chương trình này tiếp tục đọc và xuất ra cùng một nhân vật cho đến khi chúng ta nhấn 'q': $javac ReadConsole.java $java ReadConsole Nhập các ký tự, 'q' để bỏ . 1 1 e e q q Đọc và Viết tập tin: Như đã mô tả ở trên, Một dòng có thể được định nghĩa như là một chuỗi các dữ liệu. InputStream được sử dụng để đọc dữ liệu từ một nguồn và OutputStream được sử dụng để ghi dữ liệu vào một địa điểm. lập trình android Dưới đây là một hệ thống phân cấp các lớp học để đối phó với đầu vào và đầu ra suối. Java I / O Streams Hai luồng quan trọng là FileInputStream và FileOutputStream, mà sẽ được thảo luận trong bài viết này: FileInputStream: Suối này được sử dụng để đọc dữ liệu từ các tập tin. Đối tượng có thể được tạo ra bằng cách sử dụng các từ khóa mới và có một số loại nhà xây dựng sẵn. Sau constructor mất một tên tập tin như là một chuỗi để tạo ra một dòng đối tượng đầu vào để đọc các tập tin .: Code: InputStream f = new FileInputStream("C:/java/hello"); Sau constructor có một đối tượng tập tin để tạo ra một dòng đối tượng đầu vào để đọc các tập tin. Đầu tiên chúng ta tạo ra một đối tượng file bằng File () phương pháp như sau: Code: File f = new File("C:/java/hello"); InputStream f = new FileInputStream(f); Một khi bạn có đối tượng InputStream trong tay, sau đó có một danh sách các phương thức trợ giúp mà có thể được sử dụng để đọc đến dòng hoặc để làm các hoạt động khác trên suối. public void close() throws IOException{}: Phương pháp này đóng dòng sản lượng file. Giải phóng tài nguyên hệ thống liên kết với các tập tin. Ném một IOException. protected void Finalize () throws IOException{}: Phương pháp này dọn dẹp các kết nối đến tập tin. Đảm bảo rằng các phương pháp chặt chẽ của tập tin này được gọi là dòng đầu ra khi không có sự tham khảo thêm cho dòng này. Ném một IOException. public int read (int r) throws IOException{}: phương pháp này đọc các byte quy định của dữ liệu từ InputStream. Trả về một int. Trả về byte tiếp theo của dữ liệu và -1 sẽ được trả lại nếu nó kết thúc của tập tin. public int read (byte [] r) throws IOException{}: Phương pháp này lần đọc byte r.length từ dòng đầu vào thành một mảng. Trả về tổng số byte đọc. Nếu kết thúc của file -1 sẽ được trả lại. public int available() throws IOException{}: Cung cấp cho số byte có thể được đọc từ dòng đầu vào tập tin này. Trả về một int. Có đầu vào quan trọng khác suối có sẵn, cho thêm chi tiết bạn có thể tham khảo các liên kết sau đây: ByteArrayInputStream DataInputStream FileOutputStream: FileOutputStream được sử dụng để tạo ra một tập tin và ghi dữ liệu vào nó. Các dòng sẽ tạo ra một tập tin, nếu nó không tồn tại, trước khi mở nó cho đầu ra. Dưới đây là hai cấu trúc có thể được sử dụng để tạo ra một đối tượng FileOutputStream. Sau constructor mất một tên tập tin như là một chuỗi để tạo ra một đối tượng đầu vào dòng để ghi các file: Code: OutputStream f = new FileOutputStream("C:/java/hello") Sau constructor có một đối tượng tập tin để tạo ra một đối tượng sản lượng dòng để ghi các file. Đầu tiên, chúng ta tạo ra một đối tượng file bằng File () phương pháp như sau: Code: File f = new File("C:/java/hello"); OutputStream f = new FileOutputStream(f); Một khi bạn có đối tượng OutputStream trong tay, sau đó có một danh sách các phương pháp giúp đỡ, có thể được sử dụng để ghi vào dòng hoặc để làm các hoạt động khác trên suối - Public void close() throws IOException {} Phương pháp này đóng dòng sản lượng file. Giải phóng tài nguyên hệ thống liên kết với các tập tin. Ném một IOException - Protected void Finalize() throws IOException {} Phương pháp này dọn dẹp các kết nối đến tập tin. Đảm bảo rằng các phương pháp chặt chẽ của tập tin này được gọi là dòng đầu ra khi không có sự tham khảo thêm cho dòng này. Ném một IOException. - Public void write(int w) throws IOException {}: phương pháp này viết các byte được chỉ định cho các dòng đầu ra - Public void write (byte [] w): Viết w.length byte từ byte mảng đề cập đến OutputStream. Có dòng đầu ra quan trọng khác có sẵn, cho thêm chi tiết bạn có thể tham khảo các liên kết sau đây: ByteArrayOutputStream DataOutputStream Thí dụ: Sau đây là các ví dụ để chứng minh InputStream và OutputStream: Code: import java.io.*; public class fileStreamTest{ public static void main(String args[]){ try{ byte bWrite [] = {11,21,3,40,5}; OutputStream os = new FileOutputStream("test.txt"); for(int x=0; x < bWrite.length ; x++){ os.write( bWrite[x] ); // writes the bytes } os.close(); InputStream is = new FileInputStream("test.txt"); int size = is.available(); for(int i=0; i< size; i++){ System.out.print((char)is.read() + " "); } is.close(); }catch(IOException e){ System.out.print("Exception"); } } } The above code would create file test.txt and would write given numbers in binary format. Same would be output on the stdout screen. File Navigation and I/O: There are several other classes that we would be going through to get to know the basics of File Navigation and I/O. File Class FileReader Class FileWriter Class Thư mục trong Java: Thư mục là một file mà có thể chứa một danh sách các tập tin và thư mục khác. Bạn sử dụng đối tượng File để tạo ra các thư mục, vào danh sách xuống các tập tin có sẵn trong một thư mục. Đối với chi tiết đầy đủ kiểm tra một danh sách của tất cả các phương pháp mà bạn có thể gọi trên đối tượng File và những gì liên quan đến các thư mục. Tạo mục: Có hai phương thức tiện ích tập tin hữu ích có thể được sử dụng để tạo ra các thư mục: Phương pháp mkdir () tạo ra một thư mục, trở về đúng về thành công và sai về thất bại. Không chỉ ra rằng con đường quy định trong File tượng đã tồn tại, hoặc là thư mục không thể được tạo ra bởi vì toàn bộ đường dẫn không tồn tại chưa. Các mkdirs () phương pháp tạo ra cả một thư mục và tất cả các bậc cha mẹ của thư mục. Ví dụ sau đây tạo ra thư mục "/tmp/user/java/bin": Code: import java.io.File; public class CreateDir { public static void main(String args[]) { String dirname = "/tmp/user/java/bin"; File d = new File(dirname); // Create directory now. d.mkdirs(); } } Biên dịch và thực thi mã ở trên để tạo ra "/ tmp / người dùng / java / bin". Lưu ý: Java tự động chăm sóc các dải phân cách đường dẫn trên UNIX và Windows theo công ước. Nếu bạn sử dụng một dấu gạch chéo (/) trên một phiên bản Windows của Java, con đường vẫn sẽ giải quyết một cách chính xác. Bảng liệt kê mục: Bạn có thể sử dụng danh sách () phương pháp được cung cấp bởi đối tượng File để liệt kê tất cả các tập tin và thư mục có sẵn trong một thư mục như sau: Code: import java.io.File; public class ReadDir { public static void main(String[] args) { File file = null; String[] paths; try{ // create new file object file = new File("/tmp"); // array of files and directory paths = file.list(); // for each name in the path array for(String path:paths) { // prints filename and directory name System.out.println(path); } }catch(Exception e){ // if any error occurs e.printStackTrace(); } } } Điều này sẽ tạo ra kết quả sau đây dựa trên các thư mục và tập tin có sẵn trong thư mục của bạn / tmp: Code: test1.txt test2.txt ReadDir.java ReadDir.class Xem thêm: Khóa học photoshop cơ bản nâng cao tại Hà nội ! Bạn phải đăng nhập hoặc đăng ký để trả lời ở đây. Chia sẻ: Facebook Twitter Reddit WhatsApp Địa chỉ Email Link

Chia sẻ trang này

Facebook Twitter Reddit WhatsApp Địa chỉ Email Link

Theo dõi Youtube

Thành viên online

  • lvtinh89
  • batluadocdao04a
  • baropham
  • linkinparkjz
  • lốc lạnh
  • napcao
  • khongnho
  • legendshipping
  • thanhle.nguyen19955
Tổng số: 11 (thành viên: 10, khách: 1)

Nhiều người xem

(iOS) Ứng dụng xem YouTube không quảng cáo đang miễn phí Lifetime trị... (iOS) Ứng dụng VPN đang miễn phí Lifetime bản Pro trị giá $89.99 trong... (Windows, mac, Linux) Nhận key bản quyền trọn đời bộ công cụ văn... (6/12/2025) - Tổng hợp 6 ứng dụng, game iOS đang được miễn phí thời... (29/11/2025) - Tổng hợp 6 ứng dụng, game iOS đang được miễn phí thời... (iOS/Android) Nhận key bản quyền bản VIP của ứng dụng VPN trị... Black Friday - Tổng hợp 6 ứng dụng, game iOS đang được miễn phí thời... (20/11/2025) - Tổng hợp 6 ứng dụng, game iOS đang được miễn phí thời... (22/11/2025) - Tổng hợp 6 ứng dụng, game iOS đang được miễn phí thời... (iOS/Android) Nhận key gói Premium ứng dụng giúp thư giãn, ngủ ngon,...

Quảng Cáo

Quảng Cáo

Có thể bạn quan tâm

  • Diễn Đàn
  • Giáo dục - Đào tạo - Việc làm
  • Thông tin - Thảo luận
Top Bottom

Từ khóa » Các Luồng Dữ Liệu Chuẩn Trong Java