2

基本上,我试图从一个连续的文本文件中读取 4 个字符。前两个是我将声明给变量的整数,接下来的两个是我需要分配给字符串或字符的字符,以便稍后将它们打印出来。

我知道如何获取整数,但我阅读字符的主要问题是我不确定如何获取,并且其中一些字符可能是 ' ',或者只是一个空格。我不知道我应该如何获得一个空间作为角色。我需要稍后在程序中使用这些字符来打印一些东西。

到目前为止,我几乎已经做了类似的事情

Scanner s = new Scanner(new FileInputStream("textfile.txt"));

int a = s.nextInt();
int b = s.nextInt();

但是,如果我尝试使用 next 会出现错误,尤其是当我尝试获取 ' ' 字符时。请问有什么帮助吗?

4

3 回答 3

1

我不知道是否有办法使用 Scanner 获取下一个字符,但如果我处于相同的情况,我将使用 nextLine() 然后对我获得的字符串进行操作。您可以使用 charAt() 来获取特定字符。很像:

String str = s.nextLine();

char c1 = str.charAt(0); 
于 2012-07-21T03:12:25.627 回答
1

尝试使用来读取空格字符是有道理next()的,因为它是默认的分隔符。

您可以使用 . 将分隔符更改为不应出现在输入数据中的内容Scanner.useDelimiter()

于 2012-07-21T03:14:56.683 回答
1

由于您正在读取 4 个连续字符,因此最好使用 InputStreamReader。

InputStreamReader in = new InputStreamReader(new FileInputStream("textfile.txt")));

int a = in.read()
int b = in.read()
char c = (char)in.read()
char d = (char)in.read()

如果您只使用 ASCII 字符,那么您可以跳过 InputStreamReader 并直接使用 FileInputStream。

于 2012-07-21T03:26:55.003 回答