基本上,我试图从顺序文本文件中读取4个字符。前两个是我将声明为变量的整数,接下来的两个是我需要分配给字符串或字符的字符,以便我可以稍后打印出来。
我知道如何获得整数,但我阅读角色的主要问题是我不确定如何,并且有可能某些角色可以是'',或者只是一个空格。我不知道我应该如何获得一个角色空间。我需要在程序后面使用这些字符来打印一些东西。
到目前为止,我几乎只做了像
这样的事情Scanner s = new Scanner(new FileInputStream("textfile.txt"));
int a = s.nextInt();
int b = s.nextInt();
但是如果我尝试使用next,那么我会收到错误,特别是如果我想要获得一个''字符。有什么帮助吗?
答案 0 :(得分:1)
我不知道是否有办法使用Scanner获取下一个角色,但如果我处于相同的情况,我将只使用nextLine()然后对我获得的字符串进行操作。您可以使用charAt()来获取特定字符。很像:
String str = s.nextLine();
char c1 = str.charAt(0);
答案 1 :(得分:1)
尝试使用next()
读取空格字符是行不通的,因为它是默认的分隔符。
您可以使用Scanner.useDelimiter()
将分隔符更改为输入数据中不应出现的内容。
答案 2 :(得分: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。