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

java 读文件Path注意下面情况

 
阅读更多

虽然是很基础的东西,但是仍然愿意花时间写出来,我之前在实际项目中就遇到过这样的问题。

用之前我写过的一个例子来说明这个事情。

http://tangmingjie2009.iteye.com/blog/510459

 

假如你开发的程序有需要读一个自定义文件的功能,事实上这个情况很常见。你写来了如下类似代码。

String fileName = "config.properties";
String path =System.getProperty("user.dir")+File.separator+fileName;
File f = new File(path);
InputStream is =new FileInputStream(f);
//... read

 

开发成功然后在eclipse上很开心。OK ,打个JAR包(testPath.jar)给用户用吧。

 

用户给安装到E://f1/f11/testPath.jar,没有问题。

启动吧

cd E://f1/f11/

java -jar testPath.jar

哇,没有问题,程序写的真好。

 

一段时间之后,用户发现每次都要CD进去多累呀,写个简单的批处理吧

java -jar E://f1/f11/testPath.jar

问题来了,突然某一天用户给你来个电话,出错了,

怎么读不到文件了呢?然后去目录一看文件在这边呀,代码他们不可能改的,文件也在原来的目录,怎么突然找不到读的文件了?各种纠结吧。

最后发现原来启动的方式有点不一样,CD一下,和不CD在外面直接读是有区别的。

 

下面直接把两种情况的输出复制出来如下,代码在上一个链接那里

//第一种情况,CD进去

E:\>cd f1\f11
E:\f1\f11>java -jar testPath.jar
---------test group 1---------
file:/E:/f1/f11/
file:/E:/f1/f11/
file:/E:/f1/f11/
file:/E:/f1/f11/
file:/E:/f1/f11/
---------test group 2---------
jar:file:/E:/f1/f11/testPath.jar!/cn/tang/test/
---------test group 3---------
E:\f1\f11
E:\f1\f11

//第一种情况,不CD进去,直接在外面运行
E:\f1\f11>cd ..

E:\f1>cd ..

E:\>java -jar ./f1/f11/testPath.jar
---------test group 1---------
file:/E:/f1/f11/
file:/E:/f1/f11/
file:/E:/f1/f11/
file:/E:/f1/f11/
file:/E:/f1/f11/
---------test group 2---------
jar:file:/E:/f1/f11/testPath.jar!/cn/tang/test/
---------test group 3---------
E:\
E:\

 看看结果吧,你会明白的。

 

 

 

 

分享到:
评论

相关推荐

    java读取excel文件

    ### Java读取Excel文件知识点详解 #### 一、引言 在日常开发工作中,经常需要处理Excel文件。Java作为一种广泛使用的编程语言,提供了多种库来读取Excel文件,其中较为常用的有Apache POI和JExcelApi等。本文将详细...

    java读取文本文件

    以下是如何使用`Files`和`Path`读取文件: ```java import java.io.IOException; import java.nio.file.*; public class ReadTextFile { public static void main(String[] args) { Path filePath = Paths.get(...

    java读写csv文件,中文乱码问题

    - 使用`BufferedReader`和`InputStreamReader`组合,可以指定字符编码读取文件。例如: ```java FileInputStream fis = new FileInputStream("path_to_file.csv"); InputStreamReader isr = new ...

    java 读取PDF文件中的内容

    请注意,PDF文件可能包含加密或权限限制,所以在读取之前需要检查并处理这些情况。此外,PDFBox也支持更复杂的操作,如提取特定页面、选择区域、处理表格和图像等。根据具体需求,可以深入学习PDFBox的API来实现更多...

    用java读取txt文件和xml文件

    然后,我们使用`readLine()`方法逐行读取文件内容,并打印出来。注意使用try-with-resources语句,这样可以确保在读取完成后自动关闭流。 接下来,我们讨论如何读取XML文件。Java提供了`javax.xml.parsers`包,包含...

    java 将文件中二进制文件转换成文本文本文件并输出

    请注意,如果二进制文件包含非ASCII字符,转换可能会导致乱码或不可读的文本。 在实际应用中,如果二进制文件确实包含非ASCII文本(如UTF-8编码的多语言文本),那么需要更复杂的处理,例如使用`CharsetDecoder`类...

    java实现读取html网页文件

    - 使用`BufferedReader`的`readLine()`方法,逐行读取文件内容。这可以用来获取HTML文件的文本。 2. **处理HTML内容** - HTML内容通常包含标签和文本,如果只需要文本内容,可以使用`Jsoup`库解析HTML。`Jsoup`是...

    java读取文件免除乱码

    在Java编程中,读取文件时可能会遇到乱码问题,这通常是由于文件编码格式与程序期望的编码格式不一致导致的。本篇文章将深入探讨如何在Java中正确地读取不同编码格式的文件,以避免乱码现象。 首先,我们需要了解...

    java解析DWG文件为json使用superMap

    【标签】:“java解析DWG文件json java读取dwg文件” 本文将详细介绍如何使用Java和SuperMap iObjects Java库解析DWG文件并将其转换为JSON格式。SuperMap iObjects Java是一款强大的GIS(地理信息系统)开发工具,...

    java读取excel文件生成矩阵

    在Java编程中,读取Excel文件并生成矩阵是一项常见的任务,尤其在数据分析、报表处理或者数据导入导出的场景下。Excel文件通常用于存储结构化的表格数据,而矩阵则是一种有效的数据表示方式,便于计算和分析。下面...

    Java 文件读取器

    总结起来,Java的`InputStream`和`FileReader`分别用于处理二进制数据和文本数据的读取,而`InputStreamReader`允许你在读取文件时指定字符编码。在用户界面中选择文件时,尽管`FileDialog`在早期版本中被使用,但...

    JAVA读取随机文件

    首先,Java提供了多种类用于处理文件输入输出,其中`java.io`包中的`FileInputStream`和`FileReader`是基础类,用于读取文件内容。然而,对于随机访问文件,我们通常会使用`RandomAccessFile`类,它提供了随机访问和...

    java 统计指定文件中的字符个数

    在这个例子中,我们创建了一个`BufferedReader`实例来读取文件,并通过`readLine()`方法逐行读取文件内容。每读取一行,就计算其长度并将结果累加到`count`变量中。注意,这个计数不包括换行符,如果需要包含换行符...

    JAVA读取环境变量

    ### JAVA读取环境变量 #### 知识点概述 在Java程序中,有时我们需要根据不同的运行环境(如Windows或Linux)来获取系统环境变量。这些环境变量包含了操作系统配置的重要信息,比如路径设置、用户信息等。本文将...

    java 读取jar包文件

    下面将详细介绍如何在Java中读取jar包文件。 1. **使用`JarFile`类** `JarFile`是Java中用于操作jar文件的主要类。首先,你需要创建一个`JarFile`实例,传入jar文件的路径(如果jar文件在类路径中,可以使用类的全...

    如何用Java程序设置系统path环境变量

    ### 如何用Java程序设置系统Path环境变量 随着Java技术的发展与普及,越来越多的开发者开始在Windows平台上利用Java进行桌面应用程序开发。在此过程中,经常会出现需要通过JNI(Java Native Interface,Java本地...

    java多文件压缩成zip文件并实现下载

    在Java编程中,将多个文件压缩成一个ZIP文件并实现下载是一个常见的任务,尤其是在处理大量数据或文件分发时。这个过程涉及到Java的I/O流、压缩和HTTP响应的使用。下面将详细介绍如何实现这个功能。 首先,我们需要...

    java 读取zip Demo

    下面将详细介绍如何使用Java读取ZIP文件,并提供相关的知识点。 首先,我们需要了解`ZipInputStream`类,它是Java中用于读取ZIP文件的主要工具。这个类实现了`InputStream`接口,允许我们逐个读取ZIP文件中的条目...

Global site tag (gtag.js) - Google Analytics