Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 4 của 4
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Cơ bản là yêu cầu của thầy bạn khoai quá.

    Lớp Scanner cũng như các lớp đọc tập tin như InputStream, BufferedInputStream,... thôi. Khác là nó có hỗ trợ đọc theo kiểu Biểu thức chính quy.
    Nó vẫn có phương thức đọc từng byte (Scanner.nextByte())

    Còn việc dùng System.setOut() thì đó chỉ là một cách để thay phương thức xuất dữ liệu thôi. Thay vì bạn dùng trực tiếp các phương thức của lớp (OutputStream, BufferedOutputStream,...) thì lại dùng System.out.print(),... để làm phương thức xuất dữ liệu.

    Mã:
    package com.tutorialspoint; import java.lang.*;import java.io.*; public class SystemDemo {    public static void main(String[] args) throws Exception         // create file     FileOutputStream f = new FileOutputStream("file.txt");          System.setOut(new PrintStream(f));             // this text will get redirected to file     System.out.println("This is System class!!!");   }}
    Ví dự từ: http://www.tutorialspoint.com/java/l...tem_setout.htm

    Chắc ý thầy của bạn là kết hợp cả 3 để sao chép tập tin (3 bước).
    - Dùng lớp Scanner để đọc.
    - Dùng bộ đệm để đệm dữ liệu.
    - Khi xuất thì dùng phương thức System.setOut(), và các phương thức của System.out như print(), println(), printf(),...

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Bạn nên tìm hiểu cho kỹ, rồi nói cho thầy của bạn biết vấn đề.

    - Scanner được thiết kế để parse file text, không dành cho binary file.
    - System.setOut Sử dụng với mục đích để thiết lập output stream cho các hàm mà output nên standard output (chẳng hạn hàm System.out.println)

    Cá nhân Kevin thấy rằng, sử dụng cho mục đích của bạn tương đối là stupid, thông thường hiếm ai làm như vậy. Kevin không có ý kiến gì, chờ các cao thủ giúp đỡ bạn, Kevin chỉ là 'lùn thủ' nên chi biết nói vậy thôi.

    PS: Hãy tìm hiểu luật lệ tham gia nhé!

  3. #3
    Trích dẫn Gửi bởi Kevin Hoang
    Bạn nên tìm hiểu cho kỹ, rồi nói cho thầy của bạn biết vấn đề.

    - Scanner được thiết kế để parse file text, không dành cho binary file.
    - System.setOut Sử dụng với mục đích để thiết lập output stream cho các hàm mà output nên standard output (chẳng hạn hàm System.out.println)

    Cá nhân Kevin thấy rằng, sử dụng cho mục đích của bạn tương đối là stupid, thông thường hiếm ai làm như vậy. Kevin không có ý kiến gì, chờ các cao thủ giúp đỡ bạn, Kevin chỉ là 'lùn thủ' nên chi biết nói vậy thôi.

    PS: Hãy tìm hiểu luật lệ tham gia nhé!
    e thì không rõ lắm, các bạc nhẹ tay, e học java thì thường chỉ dùng scanner để đọc dữ liệu đầu vào cho các biến bình thường, còn khi dùng với các dạng binary thì e dùng cái khác trong stream, còn cái setout thì thực sự giờ e mới được biết, buổi đầu học nên chưa hiểu rõ, bên cạnh đấy bài tập thầy giao lúc đọc đề cũng không rõ ràng, nguyên văn: "các bạn về làm 1 cái ct nho nhỏ để copy dữ liệu từ file a sang file b bất kỳ, text, ảnh, video các loại sử dụng scanner+setout hoặc dùng buffer"
    em không hiểu lắm nên làm cả 2 loại cho tất cả @@ cái buffer thì ok xong hết rồi, còn scanner+setout thì chỉ có file text thôi, còn lại chịu

    - - - Nội dung đã được cập nhật ngày 16-08-2014 lúc 10:24 PM - - -

    Trích dẫn Gửi bởi SITUVNX
    Cơ bản là yêu cầu của thầy bạn khoai quá.

    Lớp Scanner cũng như các lớp đọc tập tin như InputStream, BufferedInputStream,... thôi. Khác là nó có hỗ trợ đọc theo kiểu Biểu thức chính quy.
    Nó vẫn có phương thức đọc từng byte (Scanner.nextByte())

    Còn việc dùng System.setOut() thì đó chỉ là một cách để thay phương thức xuất dữ liệu thôi. Thay vì bạn dùng trực tiếp các phương thức của lớp (OutputStream, BufferedOutputStream,...) thì lại dùng System.out.print(),... để làm phương thức xuất dữ liệu.

    Mã:
    package com.tutorialspoint; import java.lang.*;import java.io.*; public class SystemDemo {    public static void main(String[] args) throws Exception         // create file     FileOutputStream f = new FileOutputStream("file.txt");          System.setOut(new PrintStream(f));             // this text will get redirected to file     System.out.println("This is System class!!!");   }}
    Ví dự từ: http://www.tutorialspoint.com/java/l...tem_setout.htm

    Chắc ý thầy của bạn là kết hợp cả 3 để sao chép tập tin (3 bước).
    - Dùng lớp Scanner để đọc.
    - Dùng bộ đệm để đệm dữ liệu.
    - Khi xuất thì dùng phương thức System.setOut(), và các phương thức của System.out như print(), println(), printf(),...
    hi hi thankiu bác, e làm cái này xong rồi, chỉ là không biết làm sao sau khi copy nó không mở được, và nếu dùng cái scanner+setout để copy file nặng tầm vài trăm mb đổ lên (thầy còn yêu cầu trên 4gb cơ) thì nó rất chậm, chưa biết làm thế nào, dùng buffer thì ok rồi

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Cách copy file bất kỳ bằng sử dụng scanner+system.setout?

    các bác cho em hỏi cách copy một file định dạng ví dụ (text, img, avi...) thì phải làm thế nào ạ, à còn phải sử dụng scanner+system.setout hay dung buffer để copy, không dùng các loại khác, với buffer e có thể làm được chút, còn với scanner+system.setout thì e chửa biết làm thế nào, copy cái gì gì bên trong đó thì copy ra file khác được cơ mà khi mở thì không mở được.
    các bác giúp em được khôgn ạ, thầy giáo yêu cầu khoai vãi ạ @@

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •