`
iamlotus
  • 浏览: 108094 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

为Scanner设置编码

 
阅读更多

今天帮人修bug的过程中,有个哥们用java.util.Scanner去解析文件。那个代码在linux下跑没问题,但我把待分析的文件拖到本地后却怎么样也没法读

              Scanner scanner;
		try {
			scanner = new Scanner(new File("part00219"));
                        System.out.println(scanner.hasNext());
		} catch (FileNotFoundException e) {
			throw new RuntimeException(e);
		}

 这段无论如何都是输出false。开始我觉得应该是linux和windows换行符不同的问题,就去设delimiter,结果怎么设都没用,最后跟到源码里面才发现readInput里面有这段

 

   try {
            n = source.read(buf);
        } catch (IOException ioe) {
            lastException = ioe;
            n = -1;
        }

 原来Scanner把IOException给吞了,只能用scanner.ioException()拿到上一个exception。

发现了问题,解决方案就好找了,我的情况,那个exception是java.nio.charset.MalformedInputException: Input length = 1,google后发现是字符集没设置,在创建scanner时指定字符集就能解决这个问题

	scanner = new Scanner(new File("part00219"), "iso-8859-1");

 

 

我觉得Scanner这种处理exception的方式不好,这中c-style的方式在java中已经很少采用了,而且在没有任何提示的情况下 swollow exception,完全不是个好方式,不知道为什么会这么设计的。

 

 

0
1
分享到:
评论

相关推荐

    字符串各种编码转换 Scanner 、String

    此例子是一个字符串转各种编码的demo,编码格式是已经定义好的,当然你也可以扩充,使用时只需要构造它的对象然后调用对应的转换格式的方法即可,很简单的!

    sonar-scanner免费

    描述中的“1分的sonar scanner下载,资源分不能设置为0,很遗憾”可能是在暗示该资源在某个平台上的评分较低,可能是由于资源的稀缺性或者用户对下载体验的不满。然而,SonarScanner作为一个官方提供的工具,其质量...

    sonar-scanner-2.5.zip

    SonarScanner 2.5 是SonarQube分析工具的一个重要版本,它为开发者提供了一种高效、便捷的方式来扫描源代码,检测潜在的缺陷、漏洞和代码异味。在本文中,我们将深入探讨SonarScanner 2.5的功能特性、安装配置、使用...

    PHP web在线扫描scanner

    由t00ls出品,这款程序旨在帮助开发者和安全专业人员找出网站潜在的安全漏洞和编码错误,从而提高Web应用的安全性。通过自动化扫描,它可以节省大量手动审查代码的时间,同时减少人为疏忽导致的安全问题。 **主要...

    sonar-scanner-cli-5.0.1.3006-linux

    此外,还可以设置源代码路径、编码格式、分析范围等参数,以满足具体项目的需求。 使用SonarScanner进行代码分析的基本命令如下: ```sh sonar-scanner -Dsonar.projectKey=<项目Key> -Dsonar.sources=<源码路径> `...

    vnc_scanner_gui

    1. **VNC协议**: VNC协议基于RFB(Remote Framebuffer)协议,它将远程计算机的屏幕内容编码后发送到客户端,使得用户可以像操作本地计算机一样远程操作。 2. **端口扫描**: VNC服务通常在TCP的5900端口上运行,VNC...

    jenkins+sonarqube+sonar-scanner(无ngrok).zip

    总结,Jenkins+SonarQube+Sonar-Scanner的集成方案为软件开发提供了高效的自动化部署和代码质量管理工具。通过合理的配置和使用,可以显著提升开发效率,保证代码质量,降低维护成本。实践过程中,需不断调整和优化...

    Websecurify Scanner 9.0 web检测工具.rar

    1. 安装与配置:下载并安装Websecurify Scanner 9.0,根据向导设置扫描参数,如URL范围、扫描级别等。 2. 执行扫描:启动扫描过程,工具会按照预设的设置进行检测。 3. 分析结果:扫描完成后,查看并分析检测报告,...

    词法分析-scanner

    - 编码问题:确保正确处理不同字符编码,尤其是Unicode,以支持各种语言和特殊字符。 - 效率优化:在大型项目中,词法分析器的性能至关重要,因此可能需要进行一些优化,如使用缓冲区预读字符、减少状态转移的复杂性...

    sonar-scanner-cli-4.6.0.2311-linux.zip

    SonarScanner CLI,全称为SonarQube Scanner Command Line Interface,是SonarQube平台的一部分,主要用于执行代码质量分析和漏洞扫描。SonarQube是一款开源的代码质量管理工具,它能够帮助开发者发现代码中的潜在...

    SoftPerfect Network Scanner v7.2.0.zip

    还能实现带嗅探设置、统计分析、发包测试、进程监控、数据分析、编码转换和其他辅助功能(密码嗅探、邮件嗅探,文件传输嗅探等)的网络监视器,可以让你安装为网络驱动器共享文件夹,然后使用Windows资源管理器,...

    sonar-scanner-cli-4.8.0.2856-macosx.zip

    只需解压"sonar-scanner-cli-4.8.0.2856-macosx.zip"文件,然后按照官方文档的指引设置环境变量和配置文件,就可以启动扫描过程。命令行界面允许开发者灵活地定制扫描参数,以满足特定项目的需求。 在实际使用中,...

    Web Vulnerability Scanner10.5

    Web Vulnerability Scanner 10.5 是一个专为检测Web应用程序安全漏洞而设计的重要工具。在信息化社会中,Web应用程序已经成为企业与用户交互的核心平台,然而,这些应用程序往往容易受到各种安全威胁,如SQL注入、跨...

    sonar-scanner-cli-3.0.3.778-windows.zip

    在本案例中,我们讨论的是"sonar-scanner-cli-3.0.3.778-windows.zip",这是一个专为Windows操作系统设计的特定版本。 SonarScanner CLI的主要功能是集成到开发工作流程中,帮助开发者在项目编码阶段就能发现潜在的...

    sonar-scanner-2.8

    2. **规则库**:内置了丰富的编码规则,这些规则基于最佳实践和行业标准,可以帮助开发者遵循良好的编程习惯,减少潜在的缺陷。 3. **持续集成**:与各种构建工具(如Maven、Gradle、Jenkins等)无缝集成,可以在...

    sonar-scanner-3.2

    5. **编码规则遵从性**:它可以检查代码是否遵循预设的编码规范和最佳实践,如Java的Google编码风格,有助于团队保持一致性。 6. **集成SonarQube服务器**:SonarScanner的结果会发送到SonarQube服务器,服务器将...

    sonar-scanner-cli-4.2.0.1873-windows.zip

    SonarScanner CLI,全称为SonarQube Scanner Command Line Interface,是SonarQube平台的一部分,专门用于执行源代码的质量分析。这个工具提供了对代码进行静态分析的能力,帮助开发者在编码阶段发现潜在的缺陷、...

    sonar-scanner-5.0.1.3006-macosx

    Sonar Scanner是一种静态代码分析工具,旨在帮助开发者带来更高...Sonar Scanner可作为静态代码分析流程的一部分,通过与构建系统集成实现自动化分析,也可在将其作为一个插件运行于IDE中并为开发人员提供快速反馈。

    BarcodeScanner二维码扫描器安卓源码

    总之, BarcodeScanner源码为开发者提供了一个深入学习二维码扫描技术的实例,涵盖了安卓开发的多个方面,包括项目构建、API使用、UI设计以及功能实现。对于想要涉足手机开发,特别是对二维码扫描感兴趣的开发者来说...

    sonar-scanner

    使用SonarScanner前,你需要在你的Linux系统上设置几个环境变量,例如`SONAR_HOST_URL`指向你的SonarQube服务器地址,`SONAR_PROJECT_KEY`为你的项目设定一个唯一标识,`SONAR_PROJECT_NAME`是项目的名称,`SONAR_...

Global site tag (gtag.js) - Google Analytics