【问题标题】:Read file, one line at a time and run code读取文件,一次一行并运行代码
【发布时间】:2017-09-29 15:31:34
【问题描述】:

我有一个包含这种格式文本的文件:

文本:文本2:文本3
文本4:文本5:文本6
文本7:文本8:文本9

现在我要做的是读取第一行,将“:”处的单词分开,并将3个字符串保存到不同的变量中。然后将这些变量用作方法的参数,然后让程序读取下一行并一遍又一遍地做同样的事情。到目前为止,我得到了这个:

public static void main(String[] args) {

BufferedReader reader = null;

try {
    File file = new File("C://Users//Patrick//Desktop//textfile.txt");
    reader = new BufferedReader(new FileReader(file));

    String line;
    while ((line = reader.readLine()) != null) {
        System.out.println(line);
    }

} catch (IOException e) {
    e.printStackTrace();
} finally {
    try {
        reader.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

另外,我已经尝试过这个分离(虽然不确定 Array 是最好的选择:

String[] strArr = sCurrentLine.split("\\:");

【问题讨论】:

  • 这里有什么问题吗?你到底是什么问题?
  • 问题是,如何只读取文本文件的第一行,分隔然后将值(text,text2,text3)设置为变量,以便将变量用作参数方法..
  • 我建议在问题本身中提出这个问题

标签: java file bufferedreader


【解决方案1】:

使用String[] parts = line.split(":"); 得到一个包含texttext2 等的数组。然后您可以循环遍历parts 并使用列表中的每个项目调用您想要的方法。

您的原始拆分不起作用,因为: 不是正则表达式中的特殊字符。只有当您尝试实现的拆分使用特殊字符时,您才需要使用转义字符。

更多信息here

【讨论】:

    猜你喜欢
    • 2019-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多