java写文件如何加换行符?

时间:2022-06-22 07:07:26

我想把数据从数据库中读出来,然后将字段值连接起来,再写到文件中去,
每写完一行就换行,
再重复上面的工作,真到数据全部读出来.

读出来,并写进去可以实现,可是要让它换行如何现实呢?请大家帮我一下,

如:FileWriter之类的都可以,可就是不能自动换行,请大家帮我一下

48 个解决方案

#1


换行就是写入\n啊.

#2


\r\n 回车换行。

#3


直接用java.io.RandomAccessFile,然后用这个对象的writeBytes(String s)方法就可以了
在要换行的地方就是f.writeBytes("\r\n");
另外你可能要用的制表符"\t"

#4


写文件用BufferedWriter比较好
BufferedWriter有一个newLine()方法
自动会对应不同的平台产生一个回车符
另外 BufferedWriter用法就和System.out一样 有print和println方法可以调用

#5


\n

#6


你的问题说的不太清楚哦

如果是文本的,在windows中就用\r\n,在linux中用\n

至于自动换行,如果用jtextarea的话,加到一个JSCROLLPANE中,它有自动换行的参数._AS_NEEDED;

#7


UP.差不多。

#8


beiouwolf(beiouwolf) ( ) 信誉:100    Blog  2006-11-16 17:03:38  得分: 0  
 
 
   
写文件用BufferedWriter比较好
BufferedWriter有一个newLine()方法
自动会对应不同的平台产生一个回车符
另外 BufferedWriter用法就和System.out一样 有print和println方法可以调用


  
 
+++++++++
UP

#9


只要注意WIN和U/L平台的代码是不一样的
最好是用println来输出


------ 以下是签名 ------
SoftDN.com, 提供免费的项目管理平台:SVN仓库、需求管理、BUG跟踪、任务管理、在线论坛、网站空间、项目存储及完整的备份等。欢迎网友光临建立项目,开创自己的梦想。
地址:http://www.softdn.com   http://www.softdn.cn

#10


建议LZ用String crlf=System.getProperty("line.separator"),这个crlf就是一个回车换行符,这样跨OS也不用怕了。不建议用硬编码如\r\n。

#11


建议LZ用String crlf=System.getProperty("line.separator"),这个crlf就是一个回车换行符,这样跨OS也不用怕了。不建议用硬编码如\r\n。

还是不行呀,我在Unix下是用C语言写的socket,要把文件一行一行的读出来的,是用fgets读的,可是到了windows下的java时用readLine(),到了最后一行的时候就停在while这里了

while( (acTmpStr = fromClient.readLine()) != null )
{
try 
    {
     if( acTmpStr.trim().length() ==0 )
     break;
    
     System.out.println ("acTmpStr="+acTmpStr.trim());
     //WriteFile( acTmpStr, "rcv" ); //调用写文件函数
     acTmpStr=null;
    }
    catch (Exception e) 
    {
     System.out.println ("RcvFileFromWldep函数中调用WriteFile函数出错");
     return;
    }
acTmpStr = null;
}
System.out.println ("出了while了");

    }
    catch (Exception e)

#12


IvanZhang050805指的是在统一OS下读写,用这种方式,如果跨平台就得另外处理了!

#13


FileWriter w = new FileWriter("filepath",true);
w.write("content");
w.newLine();//换行
w.close();

#14


java.io.RandomAccessFile
f.writeBytes("\r\n");

#15


mark

#16


马克

#17


是不是可以结贴了?

#18


\r

#19


\r

#20


34783138java技术群,欢迎加入

#21


你们都回答完我。我还回答什么呀^-^

#22


"\r\n"

#23


\r\n

#24


\r\n

#25


\r\n我没试过,不过你想写入文本文件给别人看的话,你最好不要用\n或者newline(),因为记事本这些普通文本编辑器是不认识转义字符的,只能显一个黑方块

#26


up ,都回答了,没得回答了,

#27


请楼主结贴吧

#28


学东西了,上次要用的时候都不知道怎么用

#29


haah

#30


/r/n 呵~~
我是一个初学者。只是来看看。呵~~~~~~~~~~~~~~~```

#31


该回复于2014-01-09 21:40:57被管理员删除

#32


write(13);
wrrte(10);
ok

#33


什么时候揭贴?

#34


UP.差不多

#35


mark

#36


\n

#37


我是来jf的!

#38


在你的String 后面加上System.getProperty("line.separator")

#39


$ zz╭ ╮╭ ﹌╮.       $
$   z(o-.-o)(o-.-o) .      $
$ ┏~﹊︸ ̄~﹊︸ ̄~┓      $
$ IT者-IT开发者的网站--    $
$ 10万篇技术资料--天天更新 $
$ -----www.itzhe.cn-----   $

#40


\r\n

#41


我是来jf的!

#42


写一个换行符不就完了

#43


mark

#44


mark

#45


windows: \r\n
linux:   \n

#46


\n

#47


FileOutputStream   fos   =   new   FileOutputStream( "d:\\test.txt "); 
String   nextLine   =   System.getProperty( "line.separator "); 
String   testStr   =   "abcd "+nextLine+ "efgh "+nextLine+ "igkl "; 
byte[]   c   =   testStr.getBytes(); 
fos.write(c); 
fos.close();

#1


换行就是写入\n啊.

#2


\r\n 回车换行。

#3


直接用java.io.RandomAccessFile,然后用这个对象的writeBytes(String s)方法就可以了
在要换行的地方就是f.writeBytes("\r\n");
另外你可能要用的制表符"\t"

#4


写文件用BufferedWriter比较好
BufferedWriter有一个newLine()方法
自动会对应不同的平台产生一个回车符
另外 BufferedWriter用法就和System.out一样 有print和println方法可以调用

#5


\n

#6


你的问题说的不太清楚哦

如果是文本的,在windows中就用\r\n,在linux中用\n

至于自动换行,如果用jtextarea的话,加到一个JSCROLLPANE中,它有自动换行的参数._AS_NEEDED;

#7


UP.差不多。

#8


beiouwolf(beiouwolf) ( ) 信誉:100    Blog  2006-11-16 17:03:38  得分: 0  
 
 
   
写文件用BufferedWriter比较好
BufferedWriter有一个newLine()方法
自动会对应不同的平台产生一个回车符
另外 BufferedWriter用法就和System.out一样 有print和println方法可以调用


  
 
+++++++++
UP

#9


只要注意WIN和U/L平台的代码是不一样的
最好是用println来输出


------ 以下是签名 ------
SoftDN.com, 提供免费的项目管理平台:SVN仓库、需求管理、BUG跟踪、任务管理、在线论坛、网站空间、项目存储及完整的备份等。欢迎网友光临建立项目,开创自己的梦想。
地址:http://www.softdn.com   http://www.softdn.cn

#10


建议LZ用String crlf=System.getProperty("line.separator"),这个crlf就是一个回车换行符,这样跨OS也不用怕了。不建议用硬编码如\r\n。

#11


建议LZ用String crlf=System.getProperty("line.separator"),这个crlf就是一个回车换行符,这样跨OS也不用怕了。不建议用硬编码如\r\n。

还是不行呀,我在Unix下是用C语言写的socket,要把文件一行一行的读出来的,是用fgets读的,可是到了windows下的java时用readLine(),到了最后一行的时候就停在while这里了

while( (acTmpStr = fromClient.readLine()) != null )
{
try 
    {
     if( acTmpStr.trim().length() ==0 )
     break;
    
     System.out.println ("acTmpStr="+acTmpStr.trim());
     //WriteFile( acTmpStr, "rcv" ); //调用写文件函数
     acTmpStr=null;
    }
    catch (Exception e) 
    {
     System.out.println ("RcvFileFromWldep函数中调用WriteFile函数出错");
     return;
    }
acTmpStr = null;
}
System.out.println ("出了while了");

    }
    catch (Exception e)

#12


IvanZhang050805指的是在统一OS下读写,用这种方式,如果跨平台就得另外处理了!

#13


FileWriter w = new FileWriter("filepath",true);
w.write("content");
w.newLine();//换行
w.close();

#14


java.io.RandomAccessFile
f.writeBytes("\r\n");

#15


mark

#16


马克

#17


是不是可以结贴了?

#18


\r

#19


\r

#20


34783138java技术群,欢迎加入

#21


你们都回答完我。我还回答什么呀^-^

#22


"\r\n"

#23


\r\n

#24


\r\n

#25


\r\n我没试过,不过你想写入文本文件给别人看的话,你最好不要用\n或者newline(),因为记事本这些普通文本编辑器是不认识转义字符的,只能显一个黑方块

#26


up ,都回答了,没得回答了,

#27


请楼主结贴吧

#28


学东西了,上次要用的时候都不知道怎么用

#29


haah

#30


/r/n 呵~~
我是一个初学者。只是来看看。呵~~~~~~~~~~~~~~~```

#31


该回复于2014-01-09 21:40:57被管理员删除

#32


write(13);
wrrte(10);
ok

#33


什么时候揭贴?

#34


UP.差不多

#35


mark

#36


\n

#37


我是来jf的!

#38


在你的String 后面加上System.getProperty("line.separator")

#39


$ zz╭ ╮╭ ﹌╮.       $
$   z(o-.-o)(o-.-o) .      $
$ ┏~﹊︸ ̄~﹊︸ ̄~┓      $
$ IT者-IT开发者的网站--    $
$ 10万篇技术资料--天天更新 $
$ -----www.itzhe.cn-----   $

#40


\r\n

#41


我是来jf的!

#42


写一个换行符不就完了

#43


mark

#44


mark

#45


windows: \r\n
linux:   \n

#46


\n

#47


FileOutputStream   fos   =   new   FileOutputStream( "d:\\test.txt "); 
String   nextLine   =   System.getProperty( "line.separator "); 
String   testStr   =   "abcd "+nextLine+ "efgh "+nextLine+ "igkl "; 
byte[]   c   =   testStr.getBytes(); 
fos.write(c); 
fos.close();

#48