jsp在读取文本内容的时候一般还是使用java的io库 比如bufferedread等,其中readline函数如下
public String readLine()
throws IOException
Read a line of text. A line is considered to be terminated by any one of a line feed ('/n'), a carriage return ('/r'), or a carriage return followed immediately by a linefeed.
Returns:
A String containing the contents of the line, not including any line-termination characters, or null if the end of the stream has been reached
Throws:
IOException - If an I/O error occurs
因此每行必须以/r,或者/n或者/r/n结尾,否则在readline的时候可能就会出现意外错误
如果在unix上生成文本,并以/r/n结尾,则ftp到windows,用asc就多了个/r,在readLine就有问题
所以为了与其他格式文件传输一致性,ftp一般对于文本也用bin方式,这样在写文本文件就需要以/r/n结尾!
其实个人感觉用/n应该也是可以的,不过这个应该互相协商好,对方在windows中收到txt后要如何处理,只有/n会不会有影响等!
只是用/r/n的话,在unix上看此文本就会有^M存在,这个东西还真是有点麻烦,主要应该还是考虑到适用到windows平台,不过用java的io库处理应该是不影响的
jsp,servlet下载的时候都用到了流,也就是字符或者二进制了!不像ftp的asc,会进行换行符转化
另附上流中换行的函数,在java的bufferedwrite类中,写文件一般把bufferedwrite和filewrite结合使用
public void newLine()
throws IOException
Write a line separator. The line separator string is defined by the system property line.separator, and is not necessarily a single newline ('/n') character.
Throws:
IOException - If an I/O error occurs