Java 写文件实现换行

第一种:

写入的内容中利用\r\n进行换行

File file = new File("D:/text");

			try {
				if(!file.exists())
				file.createNewFile();

				FileOutputStream out=new FileOutputStream(file,false);
				StringBuffer sb=new StringBuffer();
				sb.append("10600257100120161201153103010 \r\n");
				sb.append("120161201KBS571009886631浙江目录上传120161201094425210009302359591120110422KBS00005595530ZZA571ZZA20161201094435fanzhipeng2000\n");
				out.write(sb.toString().getBytes("utf-8"));//注意需要转换对应的字符集
				out.flush();
		                out.close();
				/*                    FileOutputStream out = new FileOutputStream(file);                                    BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(writerStream, "UTF-8"));                      writer.write(json);                                  writer.close();  
                                */                  
			} catch (IOException e) {
				e.printStackTrace();
			}

  第二种:

利用BufferedWriter的newline()方法

File file = new File("D:/text");

			try {
				if(!file.exists())
				file.createNewFile();

				FileWriter  out=new FileWriter (file);
				BufferedWriter bw= new BufferedWriter(out);
				bw.write("10600257100120161201153103010 ");
				bw.newLine();
				bw.write("120161201KBS571009886631浙江目录上传120161201094425210009302359591120110422KBS00005595530ZZA571ZZA20161201094435fanzhipeng2000");
				bw.newLine();
				bw.flush();
				bw.close();

			} catch (IOException e) {
				e.printStackTrace();
			}

  但是newLine在使用中可能会出现问题:

不同系统的换行符:

windows -->   \r\n

Linux         -->   \r

mac         -->   \n

我们一般开发是在 windows 下开发,而服务器一般情况下都是 linux。

如果我们使用 newline 函数换行,在本机测试的时候,因为是 windows 环境,换行符是 \r\n ,打开文件时候自然文件是换行处理,没有问题。

当我们部署到服务器时候,服务器是 linux 环境,newline 读取系统换行符是 \r ,导出到文件,文件的换行符是 \r,当我们把这个文件通过浏览器下载到 windows 时候,再打开文件将会出现没有换行的问题。因为 windows 下对于 \r 的解释并不是换行符。

所以,我们在开发时候,如果需要指定文件在某些地方换行,则不能使用 newline 方法。必须手动指定换行符:\r\n 因为按照上面列举的不同系统换行符看,如果字符串的末尾是  \r\n 在三个系统中,查看该文件,都会解释为换行。

简单整理!!

时间: 2024-12-16 22:18:48

Java 写文件实现换行的相关文章

java 写文件解析

import java.io.File; import java.io.FileOutputStream; import java.io.*; public class FileTest { public FileTest() { } public static void main(String[] args) { FileOutputStream out = null; FileOutputStream outSTr = null; BufferedOutputStream Buff=null

java写文件时,输出不完整的原因以及解决方法close()或flush()

在java的IO体系中,写文件通常会用到下面语句 BufferedWriter bw=new BufferedWriter(new FileWriter("sql语句.txt")); 用到这个的时候一定不能忘了他的伴侣代码.. bw.close(); 或者 bw.flush(); 实际上,FileWriter在写文件时,会把内容存储到一块缓冲区中,当缓冲区满后,才会把缓冲区中的内容写入文件,内容再继续存到缓冲区,如此反复,而flush()会将内存中的内容强制写到文件中,即使内存没满.这

java写文件

写: /** * 写文件 * @param path * @return * @throws IOException */public BufferedWriter writeFile(final String path) throws IOException { BufferedWriter writer = new BufferedWriter(new FileWriter(path)); return writer;} 写完别忘了关闭: writer.close(); eg. writer

java写文件的基本操作

import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; public class FileIO { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOEx

java写文件读写操作(IO流,字节流)

package copyfile; import java.io.*; public class copy { public static void main(String[] args) throws IOException { copyFile("d:/new/a.txt","d:/new/b.txt",true);//oldpath,newpath,是否不覆盖前文 } public static void copyFile(String oldpth,Stri

java写文件读写操作(IO流,字符流)

package copyfile; import java.io.*; public class copy { public static void main(String[] args) throws IOException { copyFile("d:/new/a.txt","d:/new/b.txt",true);//oldpath,newpath,是否不覆盖前文 } public static void copyFile(String oldpth,Stri

Adobe Air 写文件如何换行

在用Air打log的时候发现,在字符串后面加"\n"并不能实现换行.百度一下才知道windows的换行是"\r\n".Mac OS 和 Linux换行符是"\n". 不同操作系统的换行符可能不一样.File有个静态属性File.lineEnding.用这个就可以了 下面是这个属性的官方帮助文档说明,File.lineEnding主机操作系统使用的行结束字符序列.          在 Mac OS 和 Linux 中,这是换行符(十六进制字符代码

Java的文件读写操作

当我们读写文本文件的时候,采用Reader是非常方便的,比如FileReader,InputStreamReader和BufferedReader.其中最重要的类是InputStreamReader, 它是字节转换为字符的桥梁.你可以在构造器重指定编码的方式,如果不指定的话将采用底层操作系统的默认编码方式,例如GBK等.使用FileReader读取文件: [java] view plain copy FileReader fr = new FileReader("ming.txt");

Java的文件读写操作 <转>

目录: file内存----输入流----程序----输出流----file内存 java中多种方式读文件 判断文件是否存在不存在创建文件 判断文件夹是否存在不存在创建文件夹 java 写文件的三种方法比较 java中的getParentFile Java RandomAccessFile的使用 高效的RandomAccessFile 高效的RandomAccessFile续 file(内存)----输入流---->[程序]----输出流---->file(内存) 当我们读写文本文件的时候,采