我是一名Java初学者,我正在做一个关于字典的小项目,现在我想保存单词并在文件中翻译均值,因为我的母语经常有chicken
这样的空格}}因此,我必须使用其他方式,而不是按空格,但是我真的不知道该怎么做,一个单词并将其翻译成一行,并用“制表符”分开,意味着像con gà
这样的多空格。现在我想得到2个单词并将其存储在我之前创建的单词数组中,所以我想做类似
chicken con gà
请帮助我,非常感谢,我只知道如何从文件文本中读取行,并使用w1=word1inline;
w2=word2inline;
Word(word1inline,word2inline);(this is a member of array);
来获取单词,但不确定如何通过多空格阅读。
split
答案 0 :(得分:0)
如果您坚持使用制表符作为分隔符,则应该可以:
package Application;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
public class Application {
public static void main(String[] args) {
String line;
ArrayList<String> str = new ArrayList<>();
try {
File file = new File("text.txt");
BufferedReader b = new BufferedReader(new FileReader(file));
while ((line = b.readLine()) != null) {
for (String s : line.split("\t")) {
str.add(s);
}
}
str.forEach(System.out::println);
} catch (IOException e) {
e.printStackTrace();
}
}
}
答案 1 :(得分:0)
为什么不只使用属性文件?
dict.properties :
chicken=con gá
Dict.java :
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Properties;
public class Dict {
public static void main(String[] args) throws IOException {
Properties dict = new Properties();
dict.load(Files.newBufferedReader(Paths.get("dict.properties")));
System.out.println(dict.getProperty("chicken"));
}
}
输出:
congá
答案 2 :(得分:0)
如果您的行像这样chicken con gà
,则可以使用indexof()
方法在字符串中查找第一个空格。
然后,您可以使用substring()
方法对每个单词进行子字符串化。
readLine = b.readLine();
ArrayList<String>str=new ArrayList<>();
int i = readLine.indexOf(' ');
String firstWord = readLine.substring(0, i);
String secondWord = readLine.substring(i+1, readLine.length());
str.add(firstWord);
str.add(secondWord);