zoukankan      html  css  js  c++  java
  • UTL_FILE写入文件,文件用记事本打开不换行的问题

    UTL_FILE写入文件,文件用记事本打开不换行的问题









    皇上爱傻妞
    2018-08-15 11:15:24

    1073



    收藏

    1





    分类专栏:

    问题记录






    版权











    承接之前的一篇
    之前将一行数据写完然后用UTL_FILE.NEW_LINE(l_output);换行结束
    但是发现一个问题,生成的文件用记事本打开不会自动换行,像这样

    但是用notepad打开会自动换行,因为windows记事本的换行是 ,而其他一般是 。有一种手工的方法就是用notepad打开然后将所有 替换成 。


    不想手工改的话,最后解决方法如下:

    UTL_FILE.put(l_output,chr(13)||chr(10));
    UTL_FILE.NEW_LINE(l_output,0);
    用上面的代码替换UTL_FILE.NEW_LINE(l_output);
    1234

    也可以这样

    UTL_FILE.FFLUSH(l_output);-- FFLUSH强制将缓冲的数据写入文件
    UTL_FILE.put(l_output,chr(13)||chr(10));12

    在这个过程中发现一个问题如果只用UTL_FILE.put(l_output,chr(13)||chr(10));输出的文件内容会减少,这个有点不太明白,可能跟缓存有关。如果有大神知道原因的话欢迎评论赐教:)
    最后瞎折腾就加了一个UTL_FILE.NEW_LINE(l_output,0); OK了

    还有一个问题就是导出的csv文件直接用excel打开,中文乱码了,知道解决的大神求赐教
    用记事本打开然后另存为的方法可以解决,但是不想用手工解决的方法。
    而且奇怪的是我选择另存为的时候编码显示的就是utf-8,用notepad打开显示也是utf-8,为什么再另存为一次再用excel打开就正常了呢。搞不懂
    ————————————————
    版权声明:本文为CSDN博主「皇上爱傻妞」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_37613533/java/article/details/81700890

  • 相关阅读:
    scala之旅-核心语言特性【多参数列表(柯里化)】(十二)
    scala之旅-核心语言特性【嵌套函数】(十一)
    集合+队列+锁
    JVM + GC 一遍过
    java agent测试
    actuator
    大话设计模式
    leetcode刷题之mysql精彩集锦
    Redis怎么保证与Mysql缓存一致性
    springcloud
  • 原文地址:https://www.cnblogs.com/max1999/p/13202474.html
Copyright © 2011-2022 走看看