`

java大小的敏感与文件系统的非大小敏感容易引起问题

阅读更多
   java是严格区分大小写的,但常用的文件系统是不区分大小写的,比如windows下,在某目录里放个文件test.jpg就无法再放TEST.JPG.这样一来,当我们用java操作文件时有时就会遇到此问题。
    我遇到的问题如下,老的数据库是为asp设计的,数据库里图片扩展名为jpg或JPG,而实际图片存储在硬盘上,图片的扩展名和数据库里该图片的扩展名不匹配,这在iis下的asp是没有问题的,都能正常的显示。但tomcat下就惨了,显示图片时如:www.test.com/test.JPG,其中test.JPG为数据库里读取出来的文件名,而实际文件名为test.jpg,显然页面上根本无法显示图片。如果你根据数据库里的文件名test.JPG,通过IO是去判断test.JPG是否存在,得到的结果却是存在(尽管实际存在的是test.jpg)。
 File file = new File("test.JPG");
 if(!file.exist())
{
    return test.jpg;
}else
{
   return test.JPG
}

这样的判断得不到预期的结果!
    此问题需引起注意.
1
0
分享到:
评论

相关推荐

    文件管理系统

    例如,我们可以根据文件扩展名、文件大小或创建日期来过滤文件。 4. **多线程**: 文件操作可能涉及大量数据,因此多线程处理可以提高性能。Java的Thread类和Runnable接口可以用来创建和管理线程,使得文件的读写...

    java文件(File)小结.doc

    在Java中,文件名的大小写必须与实际文件系统中的大小写一致。 4. **File类的常用方法** - **createNewFile()**:创建一个新的文件,路径中的所有上级目录必须已经存在,否则会失败。 - **delete()**:删除文件或...

    Java复习题

    语法错误是由创建代码时的错误引起的,运行错误是引起程序非正常中断的错误,逻辑错误是程序没有按照预期的方式执行时。 基本程序设计中,变量声明是告知编译器根据数据类型为变量分配合适的内存空间,变量在使用前...

    Java堆外内存的使用Java开发Java经验技巧共5页

    Java开发中的堆外内存使用是优化程序性能的重要策略之一,尤其在处理大数据、高并发或者内存敏感的应用场景中。堆外内存,也被称为直接内存(Direct Memory),是指不在JVM的堆内存中分配的内存,而是直接在操作系统...

    Java知识(精华总结)

    本文将深入探讨Java的基础知识,包括Java概述、语法格式、变量与数据类型、运算符、控制流程等核心概念,帮助初学者理解Java编程的核心要素。 一、Java概述与基础知识 1. 编程是指使用特定的语言编写指令,让计算机...

    模块大小统计.rar

    5. **版本控制**:在版本控制中,了解每个模块的大小可以帮助我们在合并代码时更好地管理变更,避免因单个大文件引发的冲突问题。 6. **持续集成/持续部署(CI/CD)**:在CI/CD流程中,模块大小统计可以作为构建和...

    java反编译工具,挺好用的

    总之,Java反编译工具是开发者的重要辅助工具,它们可以帮助我们理解和学习Java代码,但同时也需要我们对版权和法律问题保持敏感。了解并正确使用这些工具,能提升我们的编程技能和解决问题的能力。

    Java程序设计习题集

    - 每个在Java源代码中定义的类都会被编译成一个单独的`.class`文件,即字节码文件,这是Java的编译机制所决定的。 18. **Applet的执行环境:** - Java Applet是在Web浏览器中运行的,由嵌入网页的Java插件执行,...

    JAVA程序设计实验指导书

    安装完成后,需要配置环境变量,如`JAVA_HOME`、`PATH`和`CLASSPATH`,以确保系统能正确找到Java的相关工具。 2. **环境变量配置**:`JAVA_HOME`通常指向JDK的安装目录,`PATH`应包含JDK的bin目录,以便在任何地方...

    整理的2018 java面试汇总,要面试的抓紧看了

    - JRE:Java运行环境,包含JVM及运行Java程序所需的库文件。 - JVM:Java虚拟机,解释执行Java字节码。 **1.2 Java集合框架** - **List、Set与Map的区别** - `List`有序且允许重复元素。 - `Set`不允许重复...

    java开发常见漏洞及处理说明收集.pdf

    3. **限制文件大小**:设置上传文件的最大大小限制,避免大文件上传导致的DoS攻击。 4. **安全存储**:将上传的文件存放在非Web可访问目录,防止直接访问。 在Java Web开发中,可以通过在`web.xml`配置文件中定义...

    log_日志文件_

    - **日志切割**:定期将旧日志归档,保持当前日志文件大小适中。 - **日志聚合**:通过日志服务器收集分散在各节点的日志,便于集中管理和分析。 5. **日志库和框架** - **Python**:`logging`模块提供基础的...

    Java代码审计思维导图

    - **修复**: 设置严格的文件白名单并验证文件大小;对于二进制文件,可以读取文件前几个字节以进一步确认其类型。 **4. 反序列化** - **成因**: 不安全的反序列化操作可能导致任意代码执行。 - **审计**: 查找使用...

    Android获取cpu,内存,磁盘使用率信息

    `java.io.File`类可以用来操作文件和目录,通过`length()`方法获取文件大小,`listFiles()`列出目录下所有文件,以此来计算磁盘使用情况。请注意,这需要`READ_EXTERNAL_STORAGE`或`WRITE_EXTERNAL_STORAGE`权限。 ...

    〈Java开发手册(泰山版)〉灵魂13问.rar

    《Java开发手册(泰山版)》的灵魂十三问是阿里巴巴针对Java编程制定的一套深度实践指南,旨在提升代码质量、提高开发效率,同时也强化了团队协作的规范性。这份指南不仅涵盖了基础的编程规约,还深入到设计原则、...

    commons-fileupload-1.2.2.jar

    在实际开发中,应该确保使用最新或与项目兼容的版本,避免因版本不匹配引发的问题。 Apache Commons FileUpload的工作原理主要包括以下几个步骤: 1. **解析请求**:FileUpload能够解析HTTP请求,识别出哪些部分是...

    jprotector.zip

    "jprotector.zip"文件提供的Vlinx Java Protector是一款专为Windows 64位系统设计的工具,其核心功能是加密Java字节码,以增加对代码的保护层。在本文中,我们将深入探讨Java代码保护的重要性,以及Vlinx Java ...

    OpenWindow.zip_网络编程_Java_

    - 错误处理:包括文件大小限制、文件类型检查、网络中断等情况的处理。 5. **Java IO与NIO**: 文件读写操作涉及到Java的IO或NIO(非阻塞I/O)库。FileInputStream和FileOutputStream用于常规的IO操作,NIO提供更...

    JAVA中常见异常类

    这通常涉及敏感的系统资源或权限限制。 10. **`java.io.IOException`** 表示在进行I/O操作时发生错误,如读写文件或网络通信。检查输入输出流的状态和错误信息以解决问题。 11. **`java.sql.SQLException`** 在...

Global site tag (gtag.js) - Google Analytics