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 2 của 2
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Cách đọc dữ liệu từ một file text và in từng từ ra màn hình?

    mình có bài tập là
    Mã:
    a) Có thể dùng một đối tượng thuộc lớp Scanner để đọc dữ liệu từ một file text tương tự như đọc dữ liệu từ bàn phím. Ví dụ:
    
    try {
          Scanner input = new Scanner (new File("C:\\Tmp\\test.txt"));
          // đọc dữ liệu
          int n = input.nextInt();
         …
    } catch (java.io.FileNotFoundException e) {    }
    
    
    Hãy viết một chương trình Java đọc dữ liệu từ một file text và in từng từ ra màn hình.
    
    b) Sửa chương trình tại phần a để bỏ qua các dấu .,:….khi đọc các từ trong văn bản.
    Gợi ý:
    Lệnh sau đây đặt chế độ cho đối tượng Scanner coi tất cả các kí tự không phải a..z hay A..Z như các kí tự phân tách giữa các từ khi thực hiện lệnh đọc từng từ
    input.useDelimiter(Pattern.compile("[^a-zA-Z]"));
    Lệnh sau đây bỏ qua tất cả các kí tự không phải a..z hay A..Z cho đến khi gặp một kí tự trong khoản a..z hay A..Z
    input.skip("[^a-zA-Z]*");
    mình đã làm được hết theo cách của mình nhưng mình muốn hỏi là nếu làm như gợi ý thì làm thế nào, mình không có 1 ý tưởng gỉ cả , mình không biết sử dụng các gợi ý để giải, mong các bạn giúp đỡ

    code phần a thì mình làm như sau
    Mã:
        public void docfile() {
            int stop = 0;
            try {
                Scanner input = new Scanner(new File("C:\\Users\\Vu Hoang Hiep\\Documents\\NetBeansProjects\\Lab03\\text.txt"));
                // đọc dữ liệu
                //input.useDelimiter(Pattern.compile("[^a-zA-Z]"));
                while (stop != 1) {
                    String str = input.next();
                    if (str == null) {
                        stop = 1;
                    } else {
                        System.out.print(str + " ");
                    }
                }
            } catch (java.io.FileNotFoundException e) {
            }
     }
    nhưng có nhiều lỗi lắm

    Exception in thread "main" java.util.NoSuchElementException
    hiep a bc de fg ca cadvsdg at java.util.Scanner.throwFor(Scanner.java:907)
    at java.util.Scanner.next(Scanner.java:1416)
    at lab03.Task51.docfile(Task51.java:30)
    at lab03.Lab03.main(Lab03.java:23)
    Java Result: 1
    file text của mình đây
    Mã:
    hiep a bc de fg
    ca
    cadvsdg
    mọi người sửa giúp mình với

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Bạn xem thử có được không.

    Mã:
        public static void docFile(){        String s=null;        Scanner input=null;        try        {            input = new Scanner(new File("C:\\Users\\test.txt")) ;            //input.useDelimiter(Pattern.compile("[^a-zA-Z]")); //cau a            input.skip("[^a-zA-Z]*") ; //cau b        }        catch (FileNotFoundException e){            System.out.println("Problem opening file.");            System.exit(0);        }                while(input.hasNext()){//tra ve true neu next chua doc het tu trong file            s=input.next();            System.out.println(s+ " ");        }        input.close();        return ;    }

 

 

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
  •