将单个字符串保存到文件文本java

时间:2018-10-05 14:33:20

标签: java arraylist

我是一名Java初学者,我正在做一个关于字典的小项目,现在我想保存单词并在文件中翻译均值,因为我的母语经常有chicken这样的空格}}因此,我必须使用其他方式,而不是按空格,但是我真的不知道该怎么做,一个单词并将其翻译成一行,并用“制表符”分开,意味着像con gà这样的多空格。现在我想得到2个单词并将其存储在我之前创建的单词数组中,所以我想做类似

chicken con gà

请帮助我,非常感谢,我只知道如何从文件文本中读取行,并使用w1=word1inline; w2=word2inline; Word(word1inline,word2inline);(this is a member of array); 来获取单词,但不确定如何通过多空格阅读。

split

3 个答案:

答案 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);