4

我将多行作为 JTextarea 的输入,如果我将其写入文件中,那么我会发现多行写入文件中的一行

例子:

在 JTextArea 中:

I
am
a
student

意思是:variable.text="I'\n'am'\n'a'\n'student"; 当我在文件中写入字符串 s 时,我得到:

I am a student

但我希望该文件包含与我作为输入方式提供的相同的内容--->

I
am
a
student

这是编写文件的代码:

      BufferedWriter out = new BufferedWriter(
       new OutputStreamWriter(
                  new FileOutputStream(file), "UTF16"));
      int size=1;
      for(Tableclass variable:tablevector)
      {
            out.write(variable.Text); 
            out.newLine();
            size++;

      }
      out.close();
4

3 回答 3

3

稍微好一点的版本是:

    try {
        PrintWriter fstream = new PrintWriter(new FileWriter("log.txt"));
    } catch (IOException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }


 for(String word : jTextAreaName.getText().split("\n"))  {    
    fstream.println(word); 
} 
     fstream.flush();
于 2012-05-10T14:02:46.143 回答
2

使用 out.newLine();

   BufferedWriter out = new BufferedWriter( 
   new OutputStreamWriter( 
              new FileOutputStream(file), "UTF16")); 
  int size=1; 
  for(Tableclass variable:tablevector) 
  { 
        out.write(variable.Text); 
        out.newLine();          
        size++; 

  } 
  out.close(); 
于 2012-05-10T13:57:27.540 回答
1

在你的字符串 char(10) 或 char(13) 中找到这个 char

int index = textarea.firstIndexOf(CHAR(10));
于 2012-05-10T13:56:16.613 回答