关于java.util.NoSuchElementException错误的一则例子

转载自http://blog.csdn.net/ppact/article/details/1688445

写了一个从A文件复制到B文件的例子,其中要求去掉重复的行。

于是想到了Set,这本来是很容易的事情,结果在向外写数据时抱错

java.util.NoSuchElementException

网络上反复查证也没有相关的内容,于是自己慢慢的找,终于找到了。下面写出这个错误的例子及分析,希望能及时的帮助和我同样犯了小错误的菜鸟!

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class Step01 {

public static void main(String[] args) {
  Set<String> set = new HashSet<String>();
  File in = new File("Answer0712/aaa.txt");
  File out = new File("Answer0712/bbb.txt");
  InputStream is = null;
  OutputStream os = null;
  try {
   is = new FileInputStream(in);
   os = new FileOutputStream(out);
   BufferedReader br = new BufferedReader(new InputStreamReader(is));
   while (true) {
    String str = br.readLine();
    if (str == null)
     break;
    set.add(str);
   }
   // Iterator i = set.iterator();
   // while(i.hasNext()){
   // System.out.println("Null值判断:"+i.next());
   // }
   PrintWriter pw = new PrintWriter(new BufferedWriter(
     new OutputStreamWriter(os)), true);
   Iterator i = set.iterator();
   while (i.hasNext()) {
    System.out.println(i.next());  //这一句是罪魁祸首
    pw.println(i.next());
   }
   pw.flush();
  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   try {
    is.close();
    os.close();
   } catch (IOException e) {
    e.printStackTrace();
   }

}

}
}

文章中标示黄色的那一句,本来是要打印出来,在控制台看看所写的数据是否正确。

结果就出现了java.util.NoSuchElementException的错误提示 ,就是黄色的那一句,多了一个 迭代器的next()。

所以错了。去掉它就好了,或者改为

while (i.hasNext()) {
    String ss = (String) i.next();
    System.out.println(ss);
    pw.println(ss);
   }都可以解决问题。

时间: 2024-12-09 08:49:11

关于java.util.NoSuchElementException错误的一则例子的相关文章

Android 关于java.util.NoSuchElementException错误

写了一个从A文件复制到B文件的例子,其中要求去掉重复的行. 于是想到了Set,这本来是很容易的事情,结果在向外写数据时抱错 Java.util.NoSuchElementException 网络上反复查证也没有相关的内容,于是自己慢慢的找,终于找到了.下面写出这个错误的例子及分析,希望能及时的帮助和我同样犯了小错误的菜鸟! import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; impo

Iterator迭代器使用造成java.util.NoSuchElementException异常

使用Iterator迭代器出现错误java.util.NoSuchElementException 错误写法: Iterator<Map<String, Object>> it = list.iterator(); while(it.hasNext()){ if(it.next().get("listSrc") != null && "C".equals(it.next().get("listSrc").t

java.util.NoSuchElementException解决办法

最近在做一个项目,项目运行时,总是提示:java.util.NoSuchElementException.错误没有具体到code的行号,所以不容易debug.今天总算找到了root cause,so share it: 报错信息: [java] Exception in thread "main" java.util.NoSuchElementException     [java]         at java.util.AbstractList$Itr.next(Abstract

解决:Redis:java.util.NoSuchElementException: Unable to validate object at

在Java使用Redis的过程中遇见了一个问题, redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool at … Caused by: java.util.NoSuchElementException: Unable to validate object at … 这个问题是说拿不到Redis的链接,因为validate通不过.登录一个客户端,手动ping一下

Java学习笔记之Scanner报错java.util.NoSuchElementException

转载自:IT学习者-螃蟹 一个方法A使用了Scanner,在里面把它关闭了.然后又在方法B里调用方法A之后就不能再用Scanner了Scanner in = new Scanner(System.in); 测试代码如下: import java.util.Scanner; /** * * @author IT学习者-螃蟹 * * */ public class ItxxzScanner { //第一次输入 public void FistTime (){ Scanner sc = new Sca

日常问题记录-- java.util.NoSuchElementException

问题: 调用list时报错. type Exception report message java.util.NoSuchElementException description The server encountered an internal error that prevented it from fulfilling this request. exception javax.servlet.ServletException: java.util.NoSuchElementExcept

【spring data jpa】启动报错:nested exception is java.util.NoSuchElementException

spring boot项目中 使用spring data jpa 启动报错: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dealerTransferServiceImpl': Unsatisfied dependency expressed through field 'dealerTransferDao'; nested exception i

ibatis报错:Caused by: java.util.NoSuchElementException

ibaits在刚开始使用的时候总是会出现各种错误而自己确实检查不出来 对于这种错误,你可以去检查是不是sql语句缺少"#". insert into TBL_CONTRACT_TEMPLATE_INFO(TEMPLATE_CODE,CONTEXT,TEMPLATE_DESC,TEMPLATE_TYPE,STATUS,UPLOAD_TIME,LAST_UPDATE_ORG,LAST_UPDATE_ACC,LAST_UPDATE_TIME,RESERVED1,RESERVED2,RESER

springboot java.util.NoSuchElementException: No value present 异常处理

使用jpa查询的时候,如果查询不到数据,就会返回这个错误,下面是处理方法. @Override public User findByEmail(String email) { User user = new User(); user.setEmail(email); Example<User> example = Example.of(user); Optional<User> optional = userDao.findOne(example); return optional