Ash*_*pta 5 java io text inputstream text-files
就像标题所说,我试图编写一个程序,可以从文本文件中读取单个单词并将它们存储到String变量中.我知道如何使用FileReader或FileInputStream阅读单个,char但我正在尝试这不会工作.一旦我输入单词,我试图将这些与我的程序中的其他String变量进行比较,使用.equals,这样最好是我可以导入为Strings.我也可以将文本文件中的整行输入为String,在这种情况下,我只在文件的每一行放一个单词.如何从文本文件中输入单词并将其存储到String变量中?
编辑:好的,那种重复的帮助.它可能适合我,但我的问题有点不同的原因是因为副本只告诉如何读取单行.我试图阅读该行中的单个单词.所以基本上拆分线String.
Mis*_*sha 11
这些都是非常复杂的答案.我相信它们都很有用.但我更喜欢优雅简单 Scanner:
public static void main(String[] args) throws Exception{
Scanner sc = new Scanner(new File("fileName.txt"));
while(sc.hasNext()){
String s = sc.next();
//.....
}
}
Run Code Online (Sandbox Code Playgroud)
要从文本文件中读取行,您可以使用它(使用try-with-resources):
String line;
try (
InputStream fis = new FileInputStream("the_file_name");
InputStreamReader isr = new InputStreamReader(fis, Charset.forName("UTF-8"));
BufferedReader br = new BufferedReader(isr);
) {
while ((line = br.readLine()) != null) {
// Do your thing with line
}
}
Run Code Online (Sandbox Code Playgroud)
相同的东西更紧凑,更不易阅读的版本:
String line;
try (BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("the_file_name"), Charset.forName("UTF-8")))) {
while ((line = br.readLine()) != null) {
// Do your thing with line
}
}
Run Code Online (Sandbox Code Playgroud)
要将一行分成单个单词,可以使用String.split:
while ((line = br.readLine()) != null) {
String[] words = line.split(" ");
// Now you have a String array containing each word in the current line
}
Run Code Online (Sandbox Code Playgroud)