• linux文件路径分隔符为 / ,windows的文件路径分隔符为 \ ,在开发项目过程不确定用户使用何种操作系统,就需要自动适配路径。 目前已知java提供两种方法获取文件路径分割符: File.separator System....

    linux文件路径分隔符为 /  ,windows的文件路径分隔符为  \   ,在开发项目过程中不确定用户使用何种操作系统,就需要自动适配路径。


    目前已知java提供两种方法获取文件路径分割符:

    File.separator

    System.getProperty("file.separator")


    提供一个简单工具类:

    public class FilePathUtil {
    	public static final String FILE_SEPARATOR = System.getProperty("file.separator");
    	//public static final String FILE_SEPARATOR = File.separator;
    
    	public static String getRealFilePath(String path) {
    		return path.replace("/", FILE_SEPARATOR).replace("\\", FILE_SEPARATOR);
    	}
    
    	public static String getHttpURLPath(String path) {
    		return path.replace("\\", "/");
    	}
    }



    当然也可以使用request方法获取文件路径:

    String serverPath = request.getServletContext().getRealPath("/assets/data/templete/import/");

    此种方法会自动适配文件分隔符获取到工程目录下的 assets/data/templete/import 文件夹,不必考虑分隔符文件路径。


    PS:默认情况下,直接写linux路径(/),tomcat运行在windows下是可以找到正确路径的;但是写windows路径(\),在linux平台下就会出现如下情况:




    虽说写 linux 路径暂时没有问题,但是某一天java升级,在windows平台上不能识别出linux路径怎么办?所以说,能写完善的地方尽量完善。。。毕竟前车之鉴不远啊。。。上次也是挂了一批程序。。。


    展开全文
  • Linux命令分隔

    2016-11-15 23:19:41
    SecureCRT可以连接到Linux设备上,同Linux平台一样,可以输入命令完成相关操作,对于一些常用操作命令,可以设置快捷键。多条命令设置在同一个快捷键时,需要注意命令分隔符的使用。(今天调试没注意,导致浪费半天...

         SecureCRT可以连接到Linux设备上,同Linux平台一样,可以输入命令完成相关操作,对于一些常用操作命令,可以设置快捷键。多条命令设置在同一个快捷键时,需要注意命令分隔符的使用。(今天调试没注意,导致浪费半天挂机~~)。

    1、“;”分隔符

    用分号分隔的命令会按顺序执行,即使中间命令使用方式不对,会有相关错误输出,后面的命令照样会执行。如:

    输入:命令A;命令B;命令C

    按顺序执行A、B、C命令,若B命令调用方式不对,终端会有相关错误提示,提示后会继续执行C命令。


    2、“&&”分隔符

    同C、C++语言逻辑运算符"&&"类似,遇到首个命令执行失败后,后面的命令不会执行。如:

    输入:命令A && 命令B && 命令C

    先执行命令A,若A命令执行正确则再执行命令B。假如命令B执行失败,则停止,C命令不会被执行到。


    3、“||”分隔符

    同C、C++语言逻辑运算符"||"类似,遇到首个命令执行成功后,后面的命令不会执行。如:

    输入:命令A || 命令B || 命令C

    先执行命令A,若A命令执行失败则再执行命令B。假如命令B执行成功,则停止,C命令不会被执行到。

    展开全文
  • 编写创建文件的代码应注意一点,在windows系统路径使用“\”,同时需要再加一个转义的“\”,即形成了类似如下的路径:  “path\\fileName”  此种路径在windows系统没什么不对,但是到了linux系统会...
    编写创建文件的代码应注意一点,在windows系统中路径中使用“\”,同时需要再加一个转义的“\”,即形成了类似如下的路径:
    

      “path\\fileName”

      此种路径在windows系统没什么不对,但是到了linux系统会出现问题,在linux系统会生成名为“path\”的一个文件夹,当你再需要对创建的文件操作时,就会找不到文件。

     

      解决时可以在路径中使用“/”,如:

      “path/fileName”

      但是某些时候,这样会在windows系统中出现问题,如:页面上点击按钮,action里在路径中用“/”来生成一个.csv文件,然后读出文件,在新窗口中打开。此时会出现在原窗口打开的现象,不会在新窗口中打开,如果在路径中用“\\”,可以解决这个问题,但是,运行在linux上会出现开始说的情况。

      最终的解决方法是:在路径中加入的路径分隔符随系统改变,即用File.separator,可以解决掉此问题。

    展开全文
  • Windows和Linux路径分隔符通用书写方法 Windows和Linux路径分隔符不一样 Windows: File file1 = new File ("C:\demo\aa.txt"); Linux: File file2 = new File ("/demo/aa.txt&quot...

    Windows和Linux路径分隔符通用书写方法

    Windows和Linux路径分隔符不一样
    
    Windows:
    File file1 = new File ("C:\demo\aa.txt");
    
    Linux:
    File file2 = new File ("/demo/aa.txt");
    
    建议:
    File myFile = new File("C:" + File.separator + "demo" + File.separator, "aa.txt");
    
    展开全文
  • 斜杠选择

    前言

    在java开发的时候,往往是在windows环境下开发,遇到文件路径的问题是会用到“/”和”\”,对于这两种斜杠的选择略作解释。

    具体代码

    1. 反斜杠”\”是在windows系统下文件路径用到的斜杠,这个反斜杠在Linux系统下是不能用的。
    2. 斜杠”/”是在windows系统和Linux系统下都可以使用的斜杠,所有在java开发中尽量用“/”,这样代码到了Linux中也是没有问题的。
    3. 当然也可以用代码来获取当前系统所使用的斜杠类型,如下两种方式:
    public class Test {
        public static void main(String[] args) {
            String sepa = java.io.File.separator;
            System.out.println(sepa);
        }
    }
    public class Test {
        public static void main(String[] args) {
            String sepa = System.getProperty("file.separator");
            System.out.println(sepa);
        }
    }
    展开全文
  • java中Linux与Windows路径分隔符问题在开发过程,常常会遇到开发环境为Windows,而生产环境为Linux的情况。其中难免涉及读取文件的问题,而两者的转义符是有区别的。如果直接将Windows环境下执行通过的代码部署到...
  • linux平台的文件分隔符为“/”,为一撇,为记忆方便读成“离别(pie)” 转义字符C定义了一些字母前加“\”来表示常见的那些不能显示的ASCII字符,如: \0 在ASCII表示 空字符(NULL); \t 在ASCII表示...
  • # 将windows路径分隔符\转换为unix(linux)的分隔符/ @staticmethod def transform_separator(windows_path): linux_path = '' if windows_path != '': path_list = windows_path.spli...
  • 这是个导出功能,使用的是POI,使用已经做好的模板,向里面添加数据,在action进行处理。 首先取得模板, 路径:\\export\\excel\\template\\temp.xls 代码: String modelpath = getRequest().getSession()....
  • 但是在linux 我们的文件路径是 /usr/local/nginx/html/ 与windows 下相反 所以我们在window下开发好之后 放在linux 环境下回报错 那么我们使用 DIRECTORY_SEPARATOR 来 代替 这样放在linux 环境就不会报错了 ...
  • Linux命令行模式下,当遇到一对上分隔符时(就是和~在一个键子上的符号,长的和单引号很像的)时, 线执行上分隔符内的命令,然后将结果作为参数带入命令行,这就是命令替换。 touch 功能1 date +%Y%m%d%k%M%S ...
  • Linux系统,环境变量按照其作用范围不同大致可以分为系统级环境变量和用户级环境变量。  系统级环境变量:每一个登录到系统的用户都能够读取到系统级的环境变量  用户级环境变量:每一个登录到系统的用户只...
  • 最近遇到个问题,hive 查出来的数据的分隔符是tab,想把它导入到其它的表里面,其它的表的数据的分隔符是linux的默认分隔符,找了如下方法做替换。 下面是每行被四个分隔符 \t 分割的文件的替换 awk -F '\t' '{...
  • 在最近的工作,我遇到一个bug,在Windows一切正常的代码,放到Linux测试环境就会出现问题,报的是找不到某个jsp页面错误,经过多方排查,才发现是路径分隔符导致的问题,在此统一总结一下。 Windows中路径分隔符...
  • 1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串);  2)replaceAll的参数是regex,即基于规则表达式的替换,比如,可以通过...
  • 这个数据库的目录,不同的linux发行版不同,在centos6.10,这个数据库的目录为:/var/lib/mlocate/mlocate.db 这个数据库默认一天一更新,所以一般新建的文件,如果不手动更新该数据库,在该天内是无法使用locate...
  • Linux才用的是/分隔符,而Windows才用的是\ 不要使用与平台有关的符号,与平台有关的符号一律使用自适应的常量代替: DIRECTORY_SEPARATOR 路径分隔符 PATH_SEPARATOR 目录分隔符号 PHP_EOL 换行符号
  • linux下切割大文件

    2018-04-13 19:42:31
    背景:工作传输数据的时候,经常会遇到限制文件大小的情况,这是就要将大文件切割成几个小文件,用过for循环+sed的方法,还有split的方法,刚发现split本身提供了不同场景的切割方法。整理一下,非常好用。首先split...
1 2 3 4 5 ... 20
收藏数 132,764
精华内容 53,105