首页 > 代码库 > Android 关于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;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); }
Android 关于java.util.NoSuchElementException错误
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。