public class CreditCardHolder
{
/**
* This method is used to hold credit card numbers
*/
public static void main(String[] args) throws Exception
{
File cardNumbers = new File("creditcardnumbers.txt");
Scanner cardNumbersInput = new Scanner(cardNumbers);
cardNumbersInput.useDelimiter("|" + System.getProperty("line.separator"));
while(cardNumbersInput.hasNextInt())
{
int cardNumber = Integer.parseInt(cardNumbersInput.next());
System.out.printf("%d", cardNumber);
}
cardNumbersInput.close();
}
为什么这只打印我的.txt文件中的第一行我需要它来打印文件中的任何内容我目前有四个数字如此
4929253776358751个
4716026803447186个
4539032933695186个
5473350227612088个
答案 0 :(得分:1)
更改为:
public static void main(String[] args) throws FileNotFoundException{
File cardNumbers = new File("creditcardnumbers.txt");
Scanner cardNumbersInput = new Scanner(cardNumbers);
while(cardNumbersInput.hasNextLine()) {
String cardNumber = cardNumbersInput.nextLine();
System.out.println(cardNumber);
}
cardNumbersInput.close();
}
测试hasNextLine()而不是hasNextInt()并使用nextLine()代替nextInt(),因为你不需要解析/格式化任何东西。为简单起见,您应该使用println而不是printf,因为您没有格式化等。当然,请避免使用自定义分隔符(假设为默认分隔符)。