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

  • 相关阅读:
    金步国作品列表
    GCC编译优化指南【作者:金步国】
    g++优化选项
    C++中实现对map按照value值进行排序
    C++ STL中Map的相关排序操作:按Key排序和按Value排序
    How-To: add EPEL repository to Centos 6.x is Easy!
    如何为linux释放内存和缓存
    用Python对体积较大的CSV文件进行比较的经验
    The mmap module
    Python逐块读取大文件行数的代码
  • 原文地址:https://www.cnblogs.com/max1999/p/13202474.html
Copyright © 2011-2022 走看看