逐个字符地从文本文件中读取

Chr*_*ker 10 java io text

在Java中,是否有一种方法可以读取文件(文本文件),使其一次只读取一个字符,而不是String by String.这是为了一个非常基本的词法分析器,所以你可以理解为什么我想要这样的方法.谢谢.

小智 7

这是一次读/写一个字符的示例代码

public class CopyCharacters {
    public static void main(String[] args) throws IOException {

        FileReader inputStream = null;
        FileWriter outputStream = null;

        try {
            inputStream = new FileReader("xanadu.txt");
            outputStream = new FileWriter("characteroutput.txt");

            int c;
            while ((c = inputStream.read()) != -1) {
                outputStream.write(c);
            }
        } finally {
            if (inputStream != null) {
                inputStream.close();
            }
            if (outputStream != null) {
                outputStream.close();
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意,此答案已更新为从Ref链接复制示例代码,但我发现这基本上与下面给出的答案相同.

参考:http: //download.oracle.com/javase/tutorial/essential/io/charstreams.html


Ahm*_*aid 3

您可以将内存中的整个文件(如果不是很大)作为字符串读取,并逐个字符地迭代该字符串