返回信息流想读取txt文件时每次读取一个字符或数,字符之间有1个或多个空格,用什么方法呢?
查了很多方法,不是按字节读取就是按行读取。
有没有类似c++中ifstream类的>>,能够自动读取下一个字符的办法?
多谢各位大牛啦
这是一条镜像帖。来源:北邮人论坛 / java / #14762同步于 2010/6/6
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
[求助]java怎样按字符读取文件
Aldebaran
2010/6/6镜像同步9 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
读一行进来format一下,不知道有没有类似fscanf一类的函数
【 在 Aldebaran (Cooper) 的大作中提到: 】
: 想读取txt文件时每次读取一个字符或数,字符之间有1个或多个空格,用什么方法呢?
: 查了很多方法,不是按字节读取就是按行读取。
: 有没有类似c++中ifstream类的>>,能够自动读取下一个字符的办法?
: ...................
不是按字符吧?
java里面的字符的定义是不同的,你一提到字符,就需要和特定的编码结合在一起,
其实系统要求你必须说明,你的文件到底是8859-1的?还是UTF-8的?
如果你仅仅是为了读入以空格符为分隔的文件内容,完全可以以读取一行的函数来进行,但是把
行分隔符 从'\n' 变为 空格。
对,就是以空格来分隔的文件内容。
怎么把行分隔符从“\n"变成空格呢?
【 在 ericyosho 的大作中提到: 】
: 不是按字符吧?
: java里面的字符的定义是不同的,你一提到字符,就需要和特定的编码结合在一起,
: 其实系统要求你必须说明,你的文件到底是8859-1的?还是UTF-8的?
: ...................
呃,这不是很方便么,
1. 把所有的空格,替换成'\n',然后读进来
2. java本来就可以设置换行符的,记得不是特别清,好像叫line.separator
【 在 Aldebaran 的大作中提到: 】
: 看来只能这样了
: --
这个一般是写文件的时候用的吧
用System.getProperty("line.separator")来获取当前系统的换行符是"\n"还是"\r\n",*inux是前者,windows是后者
【 在 ericyosho 的大作中提到: 】
: 呃,这不是很方便么,
: 1. 把所有的空格,替换成'\n',然后读进来
: 2. java本来就可以设置换行符的,记得不是特别清,好像叫line.separator
: ...................
private static void readFile(String fileName) {
try {
Scanner scanner = new Scanner(new File(fileName));
scanner.useDelimiter
(System.getProperty("line.separator")); //此处你爱怎么设,怎么设,设成"\r\n"
while (scanner.hasNext()) {
System.out.println(scanner.next());
scanner.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}