Java 使用资源加载器加载文本文件时出现 NoSuchElementException
Java NoSuchElementException while using resourceloader to load the textfile
im using resource loader to save the file into jar file (click here to open the image)
它工作得很好,我删除了 while(f.hasnext() { .... }
我不知道出了什么问题我正在尝试将文本文件加载到 jar 文件中,所以我正在通过输入流读取它(单击此处打开图像)
this is the text file which i am loading
主要
import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws FileNotFoundException {
ArrayList<morse> mkey = new ArrayList<>();
encription e = new encription();
morse.load(mkey);
}
}
资源加载器
import java.io.IOException;
import java.io.InputStream;
final public class ResourceLoader {
static ResourceLoader rl = new ResourceLoader();
public static InputStream rload(String path) {
InputStream input = rl.getClass().getResourceAsStream(path);
return input;
}
}
莫尔斯
import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Scanner;
final public class morse {
String c;
String symbol;
public static void load(ArrayList<morse> mkey) throws FileNotFoundException
{
Scanner f = new Scanner( ResourceLoader.rload("morse key.txt"));
int i=0;
while(f.hasNext()) {
morse temp =new morse();
temp.c =f.next();
temp.symbol = f.n;
mkey.add(temp);
System.out.println(mkey.get(i).c );
//f.nextLine();
i++;
}
f.close();
}
}
文本文件
0 -----
1 .----
2 ..---
3 ...--
4 ....-
5 .....
6 -....
7 --...
8 ---..
9 ----。
一种 。-
b -...
C -。-。
d -..
电子。
F ..-。
G - 。
H ....
一世 ..
j .---
k -.-
我.-..
米——
n-.
o ---
p .--
问--.-
r.-.
……
吨 -
你..-
v...-
w.--
X -..-
是 -.--
z--..
正如我最初在评论中所写的那样,调用 f.next() 两次,只需读取整行一次并将字符串拆分为 temp.c 和 temp.symbol 。
im using resource loader to save the file into jar file (click here to open the image)
它工作得很好,我删除了 while(f.hasnext() { .... } 我不知道出了什么问题我正在尝试将文本文件加载到 jar 文件中,所以我正在通过输入流读取它(单击此处打开图像)
this is the text file which i am loading
主要
import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws FileNotFoundException {
ArrayList<morse> mkey = new ArrayList<>();
encription e = new encription();
morse.load(mkey);
}
}
资源加载器
import java.io.IOException;
import java.io.InputStream;
final public class ResourceLoader {
static ResourceLoader rl = new ResourceLoader();
public static InputStream rload(String path) {
InputStream input = rl.getClass().getResourceAsStream(path);
return input;
}
}
莫尔斯
import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Scanner;
final public class morse {
String c;
String symbol;
public static void load(ArrayList<morse> mkey) throws FileNotFoundException
{
Scanner f = new Scanner( ResourceLoader.rload("morse key.txt"));
int i=0;
while(f.hasNext()) {
morse temp =new morse();
temp.c =f.next();
temp.symbol = f.n;
mkey.add(temp);
System.out.println(mkey.get(i).c );
//f.nextLine();
i++;
}
f.close();
}
}
文本文件
0 ----- 1 .---- 2 ..--- 3 ...-- 4 ....- 5 ..... 6 -.... 7 --... 8 ---.. 9 ----。 一种 。- b -... C -。-。 d -.. 电子。 F ..-。 G - 。 H .... 一世 .. j .--- k -.- 我.-.. 米—— n-. o --- p .-- 问--.- r.-. …… 吨 - 你..- v...- w.-- X -..- 是 -.-- z--..
正如我最初在评论中所写的那样,调用 f.next() 两次,只需读取整行一次并将字符串拆分为 temp.c 和 temp.symbol 。