今天在学习关于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() 问题出错!的更多相关文章

  1. input.nextLine()的注意事项

    若在input.nextInt()和input.nextDouble()后使用input.nextLine(),要先加一个input.nextLine()进行换行

  2. JAVA基础知识(三):input.nextLine() 和input.next()

    next()方法在读取内容时,会过滤掉有效字符前面的无效字符,对输入有效字符之前遇到的空格键.Tab键或Enter键等结束符,next()方法会自动将其过滤掉:只有在读取到有效字符之后,next()方 ...

  3. input.nextLine()和input.next()的区别

    输入:dfjjvh eigdj iugydchdgh 使用input.next()读取到的是:dfjjvh 使用input.nextLine()会读取全部

  4. Java中关于nextInt()、next()和nextLine()的理解

    先看解释: nextInt(): it only reads the int value, nextInt() places the cursor in the same line after rea ...

  5. 有关java里,nextLine()无法输入的问题

    在课后习题中用到了以下代码 public static void main(String[] args) { System.out.print("输入学生人数:"); int st ...

  6. python屏幕的交互(读取输出信息)input,raw_input的区别

    >>> input("your name?") your name?sam Traceback (most recent call last):   File & ...

  7. Java中nextLine()与其他next(),nextInt(),nextFloat()的区别

    最近学习Java过程中遇到一个小问题,就是用nextInt()来接收输入内容时,按完回车之后会产生后面的内容无法输入的结果,因此来做个小记录.有不足的地方还请大家指出. 区别一  读取返回结果 nex ...

  8. [Java in NetBeans] Lesson 17. File Input/Output.

    这个课程的参考视频和图片来自youtube. 主要学到的知识点有: We want to handle the bad Error. (e.g bad input / bugs in program) ...

  9. Java中nextInt和nextLine同时使用出现的问题

    代码: package com.ins1; import java.util.*; public class test { public static void main(String[] args) ...

随机推荐

  1. c#的基础入门回顾

    定义:.net 是平台 c#是语言 .net 可以做什么:winform (QQ软件 电脑管家软件等 桌面应用程序)   . asp.net (淘宝网站,京东网站,当当网站等internet网站) . ...

  2. hive到hbase的使用

    一.简单介绍 hive的元数据保存在metastore里面,真实的数据一般位于hdfs中,可以通过hql来对数据进行分析.hbase中的数据也是存放在hdfs上的,可不可以使用hive来分析hbase ...

  3. jquery ajax跨域请求详解

    本文章来给大家详细jquery中的ajax跨域请求, 在JQuery对于Ajax的跨域请求有两类解决方案,不过都是只支持get方式.分别是JQuery的jquery.ajax jsonp格式和jque ...

  4. [CentOS 7] 安装nginx第一步先搭建nginx服务器环境

    简要地介绍一下,如何在CentOS 7中安装nginx服务器 方法/步骤   下载对应当前系统版本的nginx包(package) # wget  http://nginx.org/packages/ ...

  5. 11)Java abstract class 和 interface

    abstract class 和 interface 的区别        含有abstract修饰符的class即为抽象类,abstract 类不能创建实例对象.含有abstract方法的类必须定义 ...

  6. The Rotation Game (POJ 2286) 题解

    [问题描述] (由于是英文的,看不懂,这里就把大意给大家说一下吧……都是中国人,相信大家也不愿意看英文……) 如图,一个井字形的棋盘,中间有着1-3任意的数,有ABCDEFGH八个操作,每个操作意味着 ...

  7. VM虚拟机无法拖拽、粘贴、复制

    VM无法从客户机拖放/复制文件到虚拟机的解决办法: 将这两项取消勾选,点击[确定].再次打开,勾选,点击[确定] 原因分析:可能是VM中默认是不支持该功能的,但是在配置窗体上确实默认打钩打上的. 依据 ...

  8. dump buffer cache

    1.基础内容: ALTER SESSION SET EVENTS 'immediate trace name buffers level n'; n取值意义: 1 只转储buffer header. ...

  9. C#条件编译,发布多平台和多种选择性的项目

    http://www.cnblogs.com/chengulv/p/4579528.html 界面操作参考 这样正对不同环境就可以编译出不同的exe或者dll,做到一个项目的灵活多变.条件编译还可以满 ...

  10. AngularJs记录学习03

    AngularJs的路由是一个组件,需要自己额外添加,在目录/src/ngRoute中 三个文件route.js,routeParams.js,ngView.js <html> <h ...