`
lydawen
  • 浏览: 471800 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

java写文件换行符跨平台及ftp上传问题

阅读更多

 

最近项目需求:

写文件,根据一定格式一行一行的写数据,由其他厂商读并解析。写完文件后,会有个java定时任务将文件上传到一个指定的ftp server,上传使用的工具是apache FtpClient组件。

 

之前可能因为其他厂商使用的是windows的原因,写的\r\n换行也没问题,这次厂商是linux系统运行的应用,要求我们使用 0A 换行,而\r\n则是 0D0A,很轻松解决这个问题了,即换行用 "\n",用16进制方式查看生成的文件,换行即对方要求的 0A 了。但对方通过FTP取到的文件,解析总是出错,对方将文件拿过来我再16进制查看发现确实变成0D 0A了。

  要求对方使用binary方式取文件依然不能解决。费了好一会时间(也没多想),才想到可能是在上传后发生变化的,因为ftp上传是同事写的也没细看,赶紧看了下代码,再看下apache FtpClient api,果然,默认的传输方式是ascii,所以会自动的进行换行处理,将FtpClient改为binary方式后,问题就解决了。

  这么个小问题费这么多时间真是浪费。

 

分享到:
评论
1 楼 fireinjava 2010-07-19  
非常感谢。。。
找了半天,终于解决了

相关推荐

    java FTP 包含linux与windows

    总之,Java FTP工具类为开发者提供了便捷的文件传输功能,通过封装FTP协议,简化了在Windows和Linux环境下的文件操作,使得跨平台开发更加高效。在使用时,根据具体的业务需求,可以选择合适的方法进行文件的上传、...

    UNIX_FTP_comcat命令精选

    例如,在Tomcat部署过程中,可能需要使用FTP上传WAR文件,调整服务器配置,或者在出现问题时快速备份和恢复远程服务器上的文件。因此,熟悉这些UNIX FTP命令对于任何IT专业人员来说都是非常有价值的。

    notepad++ 增强型记事本

    在编程或文件转换过程中,有时需要更改文本的换行符类型,如从Windows的CRLF(回车换行)转换为Linux的LF或Mac的CR。Notepad++ 提供了方便的替换功能,可以轻松实现这些转换,这对于跨平台开发尤其重要。 5. **...

    自整理Java关于基础和框架的面试题

    ### 自整理Java关于基础和框架的面试题 #### 基础知识点 ##### JDK常用的包 - **java.lang**: 包含所有基本类,如`String`、`Math`等。 - **java.util**: 提供集合框架、日期/时间设施、事件模型、杂项实用程序类...

    2021-2022计算机二级等级考试试题及答案No.1057.docx

    - **跨平台文件路径表示**:在Java中处理文件路径时,需要注意不同操作系统间的差异。正确的文件路径应该使用相应的分隔符,例如Windows系统使用反斜杠`\`。因此,对于Windows系统,“c:\\my\\1.txt”是正确的路径...

    npp.7.5.6.Installer.x64.rar_npp.7.5.8.Installer_nppInstaller_npp

    Notepad++允许用户将文件的行结束符从CRLF转换为LF,确保文件在Linux或Unix系统下能正常显示和处理,这在跨平台开发和协作时非常实用。 Notepad++还具备查找和替换功能,支持正则表达式,可以进行复杂的文本搜索和...

    2021-2022计算机二级等级考试试题及答案No.9580.docx

    10. 在Java中,换行符的转义字符是`\n`。 11. 在VFP(Visual FoxPro)系统环境下,运行表单的命令是DO FORM。 12. 内存的访问速度是最快的,而U盘和Cache(高速缓存)的访问速度介于内存和外存之间。 13. Access ...

    RED HAT LINUX 6大全

    8.3.4 FTP的日志文件—/var/log/ xferlog 149 8.4 FTP管理工具 149 8.4.1 ftpshut 149 8.4.2 ftpwho 150 8.4.3 ftpcount 150 8.5 使用FTP客户程序 150 8.5.1 autoexpect 152 8.5.2 ncftp 152 8.5.3 tftp 153 8.5.4 ...

    Notepad安装包

    Notepad++以其开源、免费、跨平台以及对多种编程语言的良好支持而受到欢迎。 1. **Notepad++简介**:Notepad++是由Don Ho开发的一款基于Windows的源代码编辑器,它以MSVC++库为基础,采用GPL许可证发布。Notepad++...

    易语言程序免安装版下载

    6) 修改MYSQL支持库跨静态编译的EXE和DLL传递连接句柄和记录集句柄无效的BUG(改动较大,可能会产生兼容性问题,我们已经仔细测试,也请使用到此库的用户帮助我们多多测试,以便及早发现问题,谢谢) 7) 其它修改 ...

Global site tag (gtag.js) - Google Analytics