当多行作为JTextarea的输入时,如何在文件中写入多行?

时间:2012-05-10 13:48:47

标签: java swing file file-io jtextarea

我从JTextarea获取多行作为输入, 如果我把它写在一个文件中,那么我得到多行在文件

中的一行写入

示例:

在JTextArea中:

I
am
a
student

表示:variable.text ="我' \ n'是' \ n' a' \ n'学生&#34 ;; 当我在文件中写出字符串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();

3 个答案:

答案 0 :(得分:3)

Slighty更好的版本将是:

    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();

答案 1 :(得分: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(); 

答案 2 :(得分:1)

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

int index = textarea.firstIndexOf(CHAR(10));