【问题标题】:Reading small parts of a text file into a text field in GUI将文本文件的一小部分读入 GUI 中的文本字段
【发布时间】:2013-05-23 20:44:55
【问题描述】:

我打算为我在学校的最后一年编写一个酒店预订程序。我将使用一个文本文件来记录所有属性包括:姓名、姓氏、联系方式等的客人,并且我想将这些属性读回他们输入的文本字段,但它们将是相同的字段并且标签和所有内容,但在不同的页面中。我将在写入文件时使用 StringTokenizer,因此会有例如'#' 分隔每个属性。

有人可以帮助将每个属性分别读取到单独的文本字段中,例如文本文件将如下所示:

Sam#Haden#samhaden@gmail.com#7562234#

并且我希望将每个属性读取到单独的文本字段中。

【问题讨论】:

  • 向我们展示您迄今为止尝试过的内容以及无效的内容。
  • 先写一些代码,如果遇到问题,请在此处发布。最好的学习方式。

标签: java text-files jtextfield bufferedreader stringtokenizer


【解决方案1】:

使用

split('#')

它将返回一个数组...从不同的索引中读取以填充字段。

【讨论】:

    【解决方案2】:

    您可以考虑使用来自 google-guava 库的 Splitter,如下所示:

    import com.google.common.base.Splitter;
    import com.google.common.collect.Iterables;
    
    Iterable<String> fieldset = Splitter.on("#").split("Sam#Haden#samhaden@gmail.com#7562234#");
    
    for(final String s : fieldset) {
        System.out.println(s);
    }
    

    按索引访问字段:

    Iterables.get(fieldset, 2); // returns "samhaden"
    

    【讨论】:

    • 谢谢史蒂夫哦,我试试这个。当我想知道这是否是一项艰巨的任务时,我只是在计划我的计划。看起来还不错。我还没有写任何代码。现在也只为我的项目做设计
    • 我只是尝试导入它说它不存在的番石榴库
    【解决方案3】:

    您可以使用 String.indexOf("#") 查找哈希标记,然后使用该索引创建仅包含第一个元素的子字符串和剩余元素的子字符串。然后重复该过程,直到所有内容都拆分为单独的文本字段。

    【讨论】:

    • String#split() 方法怎么样?
    • @RaviThapliyal:您的评论比smoothButter 的回答要好,我认为您应该将此评论作为答案。
    • 完全忘记了这一点。我同意,Ravi 的回答是一个更好的解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-29
    • 1970-01-01
    • 1970-01-01
    • 2012-06-26
    • 1970-01-01
    • 2020-06-25
    相关资源
    最近更新 更多