有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何从文本行读取多个字符串值并将其存储到字符串变量(java)

我想从java文本文件中逐行读取,一行包含4个字段,但一个字段可以包含多个单词,例如: 我有这样一句话:屏幕商业产品问题

如何在java中将这三个行字段存储到3个字符串变量中

var1 -> "Screen"
var2 -> "Commercial"
var3 -> "Problem with product"

共 (2) 个答案

  1. # 1 楼答案

    理想情况下,您需要使用某些特定字符来指示字段之间的分隔符。例如,Screen|Commercial|Problem with product。然后您可以编写代码,将整行作为输入读取,然后将其划分为子字符串。例如:

    File yourFile = new File(/*file path goes here*/);
    Scanner sc = new Scanner(yourFile);
    String input;
    String var1;
    String var2;
    String var3;
    int breakIndex;
    
    while (sc.hasNextLine()) {
        input = sc.nextLine();
        breakIndex = input.indexOf("|");
        var1 = input.substring(0, breakIndex);
        input = input.substring(breakIndex+1);
        breakIndex = input.indexOf("|");
        var2 = input.substring(0, breakIndex);
        var3 = input.substring(breakIndex+1);
        // do whatever it is you plan to do with those variables here
    }
    
  2. # 2 楼答案

    这会分割输入。使用系统。如果从标准输入读取,则在而不是inputStream中:

    BufferedReader in = new BufferedReader(new InputStreamReader(inputStream));
    String line;
    while ((line = in.readLine()) != null) {
        String[] split = line.split(" ", 3);
        String var1 = split[0]; String var2 = split[1]; String var3 = split[2];
        // do whatever is needed...
    }