JAVA 用JTextArea写完后保存到文件,怎么实现在文件里面能换行

猿猿猿媛 2013-12-05 11:02:56

private JTextArea jtextarea;
public void actionPerformed(ActionEvent e) {
if(e.getSource().equals(baoq)){
String str=jtextarea.getText();
try {
FileWriter fw=new FileWriter("f:\\百度云\\源代码\\Textio\\Diary");
fw.write(str);
fw.close();


百度了很久很多人都说用/r/n,但是这个东西要放哪里?改试的都试了就是不行啊
...全文
500 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
猿猿猿媛 2013-12-07
  • 打赏
  • 举报
回复
引用 7 楼 ysjian_pingcx 的回复:
[quote=引用 6 楼 u010553752 的回复:] [quote=引用 4 楼 ysjian_pingcx 的回复:] lz你好,你这个问题分享的很好呢,之前我也做过这个,跟lz分享一种实现方式吧: 分享思路: 1.JTextArea是多行的文本框,那么通过textArea.getText()获取的文本在控制台输出的时候是换行的,可以这么想,里面应该以"\n"分隔的,我们把textArea.getText().split("\n")之后是一个String[],然后把这个数组写到文件去,这样是不是可以达到换行的效果了呢。 希望lz先自己去实现,然后参考下面代码:
BufferedWriter bw = null;
				try {
					OutputStream os = new FileOutputStream("E:\\test.txt");
					bw = new BufferedWriter(new OutputStreamWriter(os));
					for (String value : textArea.getText().split("\n")) {
						bw.write(value);
						bw.newLine();//换行
					}
				} catch (IOException e1) {
					e1.printStackTrace();
				} finally {
					if (bw != null) {
						try {
							bw.close();
						} catch (IOException e1) {
							e1.printStackTrace();
						}
					}
				}
希望lz问题得到解决,祝学习进步~
知音啊,终于有人知道我要问什么了,请问 for里面的String value : textArea.getText().split("\n") 这句怎么理解,对于我这个初学者来说有点返常规,希望大神能解析下,[/quote] String类的split函数是根据正则表达式来切割字符串,这个for循环是增强for循环:等效于:
// 将textArea获得的字符串以换行符"\n"分割成数组
		String[] strs = textArea.getText().split("\n");
		
		// 分割后的数组
		for (int i = 0; i < strs.length; i++) {
			// ...
		}
[/quote]谢谢!!!!
袁慎建 2013-12-07
  • 打赏
  • 举报
回复
引用 6 楼 u010553752 的回复:
[quote=引用 4 楼 ysjian_pingcx 的回复:] lz你好,你这个问题分享的很好呢,之前我也做过这个,跟lz分享一种实现方式吧: 分享思路: 1.JTextArea是多行的文本框,那么通过textArea.getText()获取的文本在控制台输出的时候是换行的,可以这么想,里面应该以"\n"分隔的,我们把textArea.getText().split("\n")之后是一个String[],然后把这个数组写到文件去,这样是不是可以达到换行的效果了呢。 希望lz先自己去实现,然后参考下面代码:
BufferedWriter bw = null;
				try {
					OutputStream os = new FileOutputStream("E:\\test.txt");
					bw = new BufferedWriter(new OutputStreamWriter(os));
					for (String value : textArea.getText().split("\n")) {
						bw.write(value);
						bw.newLine();//换行
					}
				} catch (IOException e1) {
					e1.printStackTrace();
				} finally {
					if (bw != null) {
						try {
							bw.close();
						} catch (IOException e1) {
							e1.printStackTrace();
						}
					}
				}
希望lz问题得到解决,祝学习进步~
知音啊,终于有人知道我要问什么了,请问 for里面的String value : textArea.getText().split("\n") 这句怎么理解,对于我这个初学者来说有点返常规,希望大神能解析下,[/quote] String类的split函数是根据正则表达式来切割字符串,这个for循环是增强for循环:等效于:
// 将textArea获得的字符串以换行符"\n"分割成数组
		String[] strs = textArea.getText().split("\n");
		
		// 分割后的数组
		for (int i = 0; i < strs.length; i++) {
			// ...
		}
袁慎建 2013-12-06
  • 打赏
  • 举报
回复
lz你好,你这个问题分享的很好呢,之前我也做过这个,跟lz分享一种实现方式吧: 分享思路: 1.JTextArea是多行的文本框,那么通过textArea.getText()获取的文本在控制台输出的时候是换行的,可以这么想,里面应该以"\n"分隔的,我们把textArea.getText().split("\n")之后是一个String[],然后把这个数组写到文件去,这样是不是可以达到换行的效果了呢。 希望lz先自己去实现,然后参考下面代码:
BufferedWriter bw = null;
				try {
					OutputStream os = new FileOutputStream("E:\\test.txt");
					bw = new BufferedWriter(new OutputStreamWriter(os));
					for (String value : textArea.getText().split("\n")) {
						bw.write(value);
						bw.newLine();//换行
					}
				} catch (IOException e1) {
					e1.printStackTrace();
				} finally {
					if (bw != null) {
						try {
							bw.close();
						} catch (IOException e1) {
							e1.printStackTrace();
						}
					}
				}
希望lz问题得到解决,祝学习进步~
酷酷啦啦xsx 2013-12-06
  • 打赏
  • 举报
回复
好像是\r\n,而不是/r/n
猿猿猿媛 2013-12-06
  • 打赏
  • 举报
回复
引用 4 楼 ysjian_pingcx 的回复:
lz你好,你这个问题分享的很好呢,之前我也做过这个,跟lz分享一种实现方式吧: 分享思路: 1.JTextArea是多行的文本框,那么通过textArea.getText()获取的文本在控制台输出的时候是换行的,可以这么想,里面应该以"\n"分隔的,我们把textArea.getText().split("\n")之后是一个String[],然后把这个数组写到文件去,这样是不是可以达到换行的效果了呢。 希望lz先自己去实现,然后参考下面代码:
BufferedWriter bw = null;
				try {
					OutputStream os = new FileOutputStream("E:\\test.txt");
					bw = new BufferedWriter(new OutputStreamWriter(os));
					for (String value : textArea.getText().split("\n")) {
						bw.write(value);
						bw.newLine();//换行
					}
				} catch (IOException e1) {
					e1.printStackTrace();
				} finally {
					if (bw != null) {
						try {
							bw.close();
						} catch (IOException e1) {
							e1.printStackTrace();
						}
					}
				}
希望lz问题得到解决,祝学习进步~
知音啊,终于有人知道我要问什么了,请问 for里面的String value : textArea.getText().split("\n") 这句怎么理解,对于我这个初学者来说有点返常规,希望大神能解析下,
KieLeo 2013-12-06
  • 打赏
  • 举报
回复
在字符串的后面直接加\r\n 不是/r/n
FileWriter fw=new FileWriter("e:/c.txt");
		for(String string:strC){
			fw.write(string+"\r\n");
		}
		fw.close();
	}
teemai 2013-12-05
  • 打赏
  • 举报
回复
在你要换行的字符串结尾加上/r/n 比如 String line1 = "abcd" + "/r/n" 然后写到文件里fw.write(line1); 每一行都要这样
猿猿猿媛 2013-12-05
  • 打赏
  • 举报
回复
就是要保存到文件里面之后,文件里面的内容全部集中在一行,如何实现能像输入时那样换行

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧