2012-11-13 43 views

Trả lời

2

Bạn có thể chuyển đổi thành một mảng ký tự.

import java.io.*; 
import java.util.Scanner; 


public class ScanXan { 
    public static void main(String[] args) throws IOException { 
     Scanner s = null; 
     try { 
      s = new Scanner(new BufferedReader(new FileReader("yourFile.txt"))); 
      while (s.hasNext()) 
      { 
       String str = s.next(); 
       char[] myChar = str.toCharArray(); 
       // do something 
      } 
     } finally { 
      if (s != null) { 
       s.close(); 
      } 
     } 
    } 
+0

này didnt làm việc với việc sử dụng s.toCharArray tôi đã phải thực hiện một biến chuỗi và sau đó sử dụng mà với toCharArray(), nhưng cảm ơn bạn điều này đã giúp rất nhiều! – Gcap

6

Nếu bạn sử dụng một Scanner (như bạn đã nêu trong chỉnh sửa của bạn), hãy thử này:

myScanner.useDelimiter("(?<=.)"); 

Bây giờ myScanner nên đọc từng ký tự.


Bạn có thể muốn sử dụng một BufferedReader thay (nếu bạn có thể) - nó có một phương pháp read mà đọc một ký tự đơn. Ví dụ: thao tác này sẽ đọc và in ký tự đầu tiên của tệp của bạn:

BufferedReader br = new BufferedReader(new FileReader("somefile.txt")); 
System.out.println((char)br.read()); 
br.close(); 
+2

+1 cho 'BufferedReader'. –

2

Chia dòng thành ký tự bằng cách sử dụng String.toCharArray().

0

Nếu bạn cam kết sử dụng Scanner thì bạn có thể sử dụng next(String pattern).

String character = scanner.next("."); 

Trả về ở trên là String có độ dài 1 - tức là bạn nhận được ký tự, nhưng dưới dạng chuỗi.

Các vấn đề liên quan