我需要使用Scanner
, 请问是否有nextChar()
方法可供使用,而不是使用nextLine()
方法?
谢谢!
myScanner.useDelimiter("(?<=.)");
myScanner
应该逐个字符读取。
BufferedReader
- 它有一个读取单个字符的read
方法。例如,这将读取并打印文件的第一个字符:BufferedReader br = new BufferedReader(new FileReader("somefile.txt"));
System.out.println((char)br.read());
br.close();
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();
}
}
}
使用String.toCharArray()
将行拆分为字符。
如果您决定使用Scanner
,那么可以使用next(String pattern)
。
String character = scanner.next(".");