当前位置: 首页 > news >正文

java写文件实现换行

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();
                /*<br>                    FileOutputStream out = new FileOutputStream(file);  <br>
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(writerStream, "UTF-8")); <br>
                 writer.write(json);<br>
 writer.close(); 
<em id= "__mceDel" >                                */<br>                   
             catch  (IOException e) {
                 e.printStackTrace();
             }
</em>

第二种:

利用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 在三个系统中,查看该文件,都会解释为换行。

转载于:https://www.cnblogs.com/kuoAT/p/8400521.html

相关文章:

  • mount --bind使用方法
  • react 项目中 引入 bootstrap
  • “Usage of API documented as @since 1.8+”报错的解决办法
  • 【Spring系列】spring mvc整合任务调度
  • 【BZOJ2301】Problem B
  • linux 全部卸载python yum 重新安装
  • 【进阶4-4期】Lodash是如何实现深拷贝的
  • 提问的艺术
  • git学习(一) 如何将项目上传到github
  • HTML和CSS第一篇
  • git的基本使用
  • Linux基础命令---显示路由表route
  • TCP的三次握手和四次挥手
  • 富文本
  • 记一次monolog的RotatingFileHandler使用
  • CSS 专业技巧
  • go append函数以及写入
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • Python学习笔记 字符串拼接
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • socket.io+express实现聊天室的思考(三)
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • Vultr 教程目录
  • 从零开始在ubuntu上搭建node开发环境
  • 好的网址,关于.net 4.0 ,vs 2010
  • 记一次删除Git记录中的大文件的过程
  • 嵌入式文件系统
  • 微信小程序实战练习(仿五洲到家微信版)
  • 中文输入法与React文本输入框的问题与解决方案
  • 自动记录MySQL慢查询快照脚本
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • 教程:使用iPhone相机和openCV来完成3D重建(第一部分) ...
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • (3)STL算法之搜索
  • (libusb) usb口自动刷新
  • (SpringBoot)第二章:Spring创建和使用
  • (ZT)薛涌:谈贫说富
  • (十六)一篇文章学会Java的常用API
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • .apk文件,IIS不支持下载解决
  • .NET Core 2.1路线图
  • .Net Core和.Net Standard直观理解
  • .net framework4与其client profile版本的区别
  • .NET Project Open Day(2011.11.13)
  • .NET 中什么样的类是可使用 await 异步等待的?
  • .NetCore部署微服务(二)
  • .NET分布式缓存Memcached从入门到实战
  • .NET是什么
  • @Documented注解的作用
  • @GetMapping和@RequestMapping的区别
  • @Transactional注解下,循环取序列的值,但得到的值都相同的问题
  • [20161214]如何确定dbid.txt
  • [2019/05/17]解决springboot测试List接口时JSON传参异常
  • [2024最新教程]地表最强AGI:Claude 3注册账号/登录账号/访问方法,小白教程包教包会