input.nextLine() 问题出错!
今天在学习关于I/O的知识的时候发现了一个小问题!
代码如下
package com.paulo.testio; import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner; public class TestFile {
public static void main(String[] args) throws IOException {
PrintWriter output = new PrintWriter("temp.txt");
output.print("Java");
Scanner input = new Scanner(new File("temp.txt"));
System.out.println("ok");
System.out.println(input.nextLine());
output.close();
input.close(); } } Exception in thread "main" java.util.NoSuchElementException: No line found
at java.util.Scanner.nextLine(Unknown Source)
at com.paulo.testio.TestFile.main(TestFile.java:17)
而我在stackflow上或是在其它的网站上面找到的答案大多是说要先判断异常!!等等:like this
------------------------------------------------------------------------------------------------------------------------------------------------------------
package com.paulo.testio; import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner; public class TestFile {
public static void main(String[] args) throws IOException {
PrintWriter output = new PrintWriter("temp.txt");
output.print("Java");
output.close(); Scanner input = new Scanner(new File("temp.txt"));
while (input.hasNextLine()) { //加一个循环用来判断
System.out.println("ok");
System.out.println(input.nextLine());
} input.close(); } }
对的这样写完之后是没有error了,,极好,,可是没有答案的输出!!!
后来在我的研究之下发现了一点端倪!!!!
把代码改成下面的即可!
PrintWriter output = new PrintWriter("temp.txt");
output.print("Java");
output.close(); //在还没有关闭文件时文件里面什么都没有,,所以读不出东西
Scanner input = new Scanner(new File("temp.txt"));
System.out.println("ok");
System.out.println(input.nextLine());
input.close();
input.nextLine() 问题出错!的更多相关文章
- input.nextLine()的注意事项
若在input.nextInt()和input.nextDouble()后使用input.nextLine(),要先加一个input.nextLine()进行换行
- JAVA基础知识(三):input.nextLine() 和input.next()
next()方法在读取内容时,会过滤掉有效字符前面的无效字符,对输入有效字符之前遇到的空格键.Tab键或Enter键等结束符,next()方法会自动将其过滤掉:只有在读取到有效字符之后,next()方 ...
- input.nextLine()和input.next()的区别
输入:dfjjvh eigdj iugydchdgh 使用input.next()读取到的是:dfjjvh 使用input.nextLine()会读取全部
- Java中关于nextInt()、next()和nextLine()的理解
先看解释: nextInt(): it only reads the int value, nextInt() places the cursor in the same line after rea ...
- 有关java里,nextLine()无法输入的问题
在课后习题中用到了以下代码 public static void main(String[] args) { System.out.print("输入学生人数:"); int st ...
- python屏幕的交互(读取输出信息)input,raw_input的区别
>>> input("your name?") your name?sam Traceback (most recent call last): File & ...
- Java中nextLine()与其他next(),nextInt(),nextFloat()的区别
最近学习Java过程中遇到一个小问题,就是用nextInt()来接收输入内容时,按完回车之后会产生后面的内容无法输入的结果,因此来做个小记录.有不足的地方还请大家指出. 区别一 读取返回结果 nex ...
- [Java in NetBeans] Lesson 17. File Input/Output.
这个课程的参考视频和图片来自youtube. 主要学到的知识点有: We want to handle the bad Error. (e.g bad input / bugs in program) ...
- Java中nextInt和nextLine同时使用出现的问题
代码: package com.ins1; import java.util.*; public class test { public static void main(String[] args) ...
随机推荐
- 首页banner特效
<link href="css/swiper.min.css" rel="stylesheet" /> <script src=" ...
- [leetcode]_Pascal's Triangle
题目:题目本身不存在问题,生成Pascal三角. 注意: ArrayList的使用: 1.ArrayList申请二维数组. ArrayList<ArrayList<Integer>& ...
- 常见的HTTP错误总结
一般来说HTTP2XX,代表请求正常完成,HTTP3XX代表网站重定向,HTTP4XX,代表客户端出现错误,HTTP5XX,代服务器端出现了错误 HTTP301:请求的数据具有新的位置 HTTP302 ...
- Oozie和Azkaban的技术选型和对比
1 两种调度工具功能对比图 下面的表格对上述2种hadoop工作流调度器的关键特性进行了比较,尽管这些工作流调度器能够解决的需求场景基本一致,但在设计理念,目标用户,应用场景等方面还是存在区别 特性 ...
- java8新特性笔记
1.forEach(),遍历数据结构中的元素,括号内可以带一个闭包的方法 2.双冒号用法:forEach(this::doSchedule),如果运行环境是闭包,java允许使用双冒号的写法来直接调用 ...
- (转)C#与Java的证书密钥转换
前言 最近由于项目需求,服务端由c#编写,客户端由java编写.通信数据使用RSA非对称加密.但是java和c#生成的密钥格式是不一样的,所以需要转换格式才可以正常使用.网上搜到使用java进行格式转 ...
- 双栈排序(codevs 1170)题解
[问题描述] Tom最近在研究一个有趣的排序问题.如图所示,通过2个栈S1和S2,Tom希望借助以下4种操作实现将输入序列升序排序. 操作a 如果输入序列不为空,将第一个元素压入栈S1 操作b 如果栈 ...
- css 串联选择器和后代选择器
串联选择器:作用在同一个标签上 <div class=”a” id ="qq"><span>look at the color</span>&l ...
- Python Ogre Blender(转载)
http://www.cppblog.com/Charlib/archive/2010/05/31/python_ogre_blender_1.html PyOgre入门以及如何使用Blender制作 ...
- perl thread
#!/usr/local/bin/perl use threads; @domain = ("tom.com", "chinadns.com", "1 ...