0

假设我有一个这样的文本文件。有谁知道我如何区分标题和评论,以使我能够将其存储在数据库中?谢谢!

编辑:长示例被截断)

丢失的

Danielo2k12:我同意 SimmsMolly 的观点,当他在锯木厂之后跳进去时,我就像在寻找 jin,然后没有他的迹象,主要是关于舱口会议的更多细节,更多关于木筏的信息仍然值得一看:D

小队

balverio:是的,嗯,这是对“敌人”的抄袭,但那部电影更好。6/10

家庭电影

SmittShow : 不要浪费你的时间 1/5

丝绸

Tlcprn : 这是一个很好的系列!期待玛莎会尽其所能。当她发现布伦登发生了什么事时,她会对结果感到非常不安。迫不及待地想看看她为法尔家族准备了什么!爱,爱玛莎!!

奇谋妙计吴福星

快速大师:最好的电影!!!

我看见了太阳 - (Günesi gördüm)

RuruLover : 这里没有链接....

渴望改变

joanofjamaica :我非常想看到这个,但我看不到这些链接中的任何一个

牢不可破

ventu_rabbit :这是一部有趣的电影,为了悬念而长期积累,但我不认为这是一部像所有评论所说的那样聪明、发人深省的电影。我想如果你在字里行间寻找足够长的东西,你会找到的。这是一部普通的惊悚片,没什么令人兴奋的……等等……

4

1 回答 1

1

您可能可以从这样的事情开始。只需逐行阅读。标题、空行、作者和评论、空行。拆分作者和评论。

public static void main(String[] args) throws Exception {
    BufferedReader br = new BufferedReader(new FileReader(new File("C:\\Users\\wattsj\\workspace\\youtube\\src\\main\\resources\\cc")));
    while (readReview(br));
}

private static boolean readReview(BufferedReader br) throws IOException {
    String title = getNextLine(br);
    if (title == null) {
        return false;
    }
    String commentWithAuthor = getNextLine(br);
    if (commentWithAuthor == null) {
        throw new RuntimeException("Title but end of file before author");
    }
    String[] commentAndAuthor = commentWithAuthor.split(" : ", 2);
    if (commentWithAuthor.length() < 2) {
        throw new RuntimeException("Author but no comment found on the same line");
    }
    String comment = commentAndAuthor[0];
    String author = commentAndAuthor[1];
    System.out.println(title);
    System.out.println(comment);
    System.out.println(author);
    return true;
}

private static String getNextLine(BufferedReader br) throws IOException {
    String line;
    if ((line = br.readLine()) == null) {
        return null;
    }
    if (!"".equals(br.readLine())) {
        throw new RuntimeException("Expected a blank line");
    }
    return line;
}
于 2012-06-21T02:22:17.237 回答