java语言中hasNextLine用于控制台输入或者读取文本文件时的输入扫描器(java.util.Scanner类)扫描,当扫描到存在下一行时,hasNextLine返回true,没有下一行输入或者文本文件没有下一行时,返回false.
一般用于读取文本文件或控制台输入的数据时,while循环的判断条件,比如 while(in.hasNextLine()),如果有下一行就执行while循环,没有就跳出while循环
下面就给你一个用hasNextLine函数读取用户名密码文件(abc.txt),并对用户名密码切分后输出的Java程序的例子,你看看吧.(程序每句都有注释)import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Readtxt {
public static void main(String[] args) {
try {
Scanner in = new Scanner(new File("d:/abc.txt"));//打开一个文件用简单文本扫描器扫描
while (in.hasNextLine()) {//如果文件中还有下一行则继续执行
String str = in.nextLine();//取出文件中这一行赋给变量str
splitt(str);//调用自定义splitt函数输出
}
} catch (FileNotFoundException e) {//捕获打开文件时文件不存在异常
e.printStackTrace();//打印异常信息
}
}
public static void splitt(String str){//自定义函数splitt
String strr = str.trim();//去除字符串前后空格
String[] abc = strr.split("[\\p{Space}]+");//按照字符串中间的空格切分字符串形成字符串数组
String str1 = abc[0];//切分出的数组第一个字符串赋给str1
String str2 = abc[1];//切分出的数组第二个字符串赋给str2
System.out.println(str1);//打印str1到控制台上
System.out.println(str2);//打印str2到控制台上
}
}
d盘根目录下的abc.txt文件内容
zhangsan 123456
lisi 112345
wangwu 111234
运行结果
zhangsan
123456
lisi
112345
wangwu
111234