Tôi phải sử dụng Scanner
, vậy có nextChar()
thay vì phương thức nextLine()
mà tôi có thể sử dụng không?Làm thế nào để đọc một tập tin đầu vào char bằng char bằng cách sử dụng một máy quét?
Cảm ơn!
Tôi phải sử dụng Scanner
, vậy có nextChar()
thay vì phương thức nextLine()
mà tôi có thể sử dụng không?Làm thế nào để đọc một tập tin đầu vào char bằng char bằng cách sử dụng một máy quét?
Cảm ơn!
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();
}
}
}
Nếu bạn có 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();
+1 cho 'BufferedReader'. –
Chia dòng thành ký tự bằng cách sử dụng String.toCharArray()
.
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.
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