字符串到文本 - 换行符而不是逗号

时间:2014-11-30 02:18:47

标签: java

在我完全绝望之前我需要帮助:D

正如您将看到的那样,即使只有很少的差异,我也会以不同的方式尝试。我的问题是我有一个我想要(或有)输出的字符串。这意味着我需要在文本文件中。不是那个大问题,嗯?但实际问题是我想要换行而不是逗号。我知道我可以在写入文件后替换它们但是当有另一种方式时它就是不必要的。

输出看起来像这样

  

[/ rechtschreibung / _n,/ rechtschreibung / _nauf,/ rechtschreibung / _naus,   / rechtschreibung / _Ndrangheta,....]

我希望它看起来像这样

/rechtschreibung/_n
/rechtschreibung/_nauf
/rechtschreibung/_naus
/rechtschreibung/_Ndrangheta

无论如何,即使以后我不需要这种方法,因为我会将这个和其他一些信息存储到像sql这样的数据库中。它将帮助我逐步构建程序并学习更多Java;)

所以这是我的代码片段

BufferedWriter bw = null;

//PrintWriter out
//= new PrintWriter(new BufferedWriter(new FileWriter("foo.out")));


try {
    bw = new BufferedWriter(new FileWriter("bfwr.txt"));
    bw.write(test5.getWoerterListe().toString());
    bw.newLine();
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

/*
try {
PrintWriter out = new PrintWriter(new FileWriter("prwr.txt"));  
out.print(test5.getWoerterListe());  
out.close();  
System.out.printf("Testing String");
} catch (IOException e) {
    e.printStackTrace();
}
*/

/*
try {
    FileWriter test10 = new FileWriter("test.txt");
    test10.write(test5.getWoerterListe().toString());
    test10.close();
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
*/

请对我好:D
援助赞赏=)

编辑#1 直接在第一个之前编码。

Oberordner test2 = new Oberordner("http://www.duden.de/definition");
Unterordner test3 = new Unterordner(test2.getOberOrdner());
WoerterListe test5 = new WoerterListe(test3.getUnterOrdnerURL());
test5.setWoerterListe();

来自WoerterListe.java真正的最终部分

public ArrayList<String> getWoerterListe(){
    return WoerterListe;
}

附加信息:字符串未存储在代码中,因为有'/rechtschreibung/*'之类的成千上万字 顺便说一句,这里的语言是德语不幸的是我必须使用德语单词=(

2 个答案:

答案 0 :(得分:1)

我不是Java开发人员,你没有说明getWoerterListe()返回的内容,但这是我的猜测。 getWoerterListe()可能返回一个字符串列表,在这种情况下toString()的默认行为是将列表转换为逗号分隔值。因此,不是在列表上调用toString(),而是循环遍历它并写出每一行后跟一个回车符(或者Java用于结束行的任何内容)。

答案 1 :(得分:0)

<强>代码

   String s = "[/rechtschreibung/_n, /rechtschreibung/_nauf, "
           + "/rechtschreibung/_naus, /rechtschreibung/_Ndrangheta, ....]";

   String srp = s.replaceAll("\\[|\\]|\\.+" ,"");
   String[] sp = srp.split(",");

    for (int i = 0; i < sp.length; i++) {
        System.out.println(sp[i].trim());
    }

<强>输出

/rechtschreibung/_n
/rechtschreibung/_nauf
/rechtschreibung/_naus
/rechtschreibung/_Ndrangheta

解释

我认为[/rechtschreibung/_n, /rechtschreibung/_nauf, /rechtschreibung/_naus, /rechtschreibung/_Ndrangheta, ....]String。我删除了所有必要的字符,例如[],以及任意数量的.形成它。之后,我分裂了,并在输出上打印分裂字符串的每个元素。