精华内容
下载资源
问答
  • java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。 java把电脑中的文件和文件夹(目录)封装为了一个File类,我们可以使用File类对文件和文件夹进行操作 我们可以使用File类...

    File类

    第一章 File类

    1.1 概述

    java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。
    java把电脑中的文件和文件夹(目录)封装为了一个File类,我们可以使用File类对文件和文件夹进行操作
    我们可以使用File类的方法
    创建一个文件/文件夹
    删除文件/文件夹
    获取文件/文件夹
    判断文件/文件夹是否存在
    对文件夹进行遍历
    获取文件的大小
    File类是一个与系统无关的类,任何的操作系统都可以使用这个类中的方法

    重点:记住这三个单词
        file:文件
        directory:文件夹/目录
        path:路径
    

    1.2 构造方法

    • public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。
      String pathname:字符串的路径名称
      路径可以是以文件结尾,也可以是以文件夹结尾
      路径可以是相对路径,也可以是绝对路径
      路径可以是存在,也可以是不存在
      创建File对象,只是把字符串路径封装为File对象,不考虑路径的真假情况
            File f1 = new File("C:\\Users\\itcast\\IdeaProjects\\shungyuan\\a.txt");
            System.out.println(f1);//重写了Object类的toString方法 C:\Users\itcast\IdeaProjects\shungyuan\a.txt
    
            File f2 = new File("C:\\Users\\itcast\\IdeaProjects\\shungyuan");
            System.out.println(f2);//C:\Users\itcast\IdeaProjects\shungyuan
    
            File f3 = new File("b.txt");
            System.out.println(f3);//b.txt
    
    • public File(String parent, String child) :从父路径名字符串和子路径名字符串创建新的 File实例。
      根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。
      参数:把路径分成了两部分
      String parent:父路径
      String child:子路径
      好处:
      父路径和子路径,可以单独书写,使用起来非常灵活;父路径和子路径都可以变化
            String parent = "c:\\"; 
            String child = "a.txt";
            File file = new File(parent,child);
            System.out.println(file);//c:\a.txt
    
    • public File(File parent, String child) :从父抽象路径名和子路径名字符串创建新的 File实例。
      根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。
      参数:把路径分成了两部分
      File parent:父路径
      String child:子路径
      好处:
      父路径和子路径,可以单独书写,使用起来非常灵活;父路径和子路径都可以变化
      父路径是File类型,可以使用File的方法对路径进行一些操作,再使用路径创建对象
            File parent = new File("c:\\");
            File file = new File(parent,"hello.java");
            System.out.println(file);//c:\hello.java
    
    • 构造举例,代码如下:
    // 文件路径名
    String pathname = "D:\\aaa.txt";
    File file1 = new File(pathname); 
    
    // 文件路径名
    String pathname2 = "D:\\aaa\\bbb.txt";
    File file2 = new File(pathname2); 
    
    // 通过父路径和子路径字符串
     String parent = "d:\\aaa";
     String child = "bbb.txt";
     File file3 = new File(parent, child);
    
    // 通过父级File对象和子路径字符串
    File parentDir = new File("d:\\aaa");
    String child = "bbb.txt";
    File file4 = new File(parentDir, child);
    

    小贴士:

    1. 一个File对象代表硬盘中实际存在的一个文件或者目录。
    2. 无论该路径下是否存在文件或者目录,都不影响File对象的创建。

    1.3 常用方法

    获取功能的方法

    • public String getAbsolutePath() :返回此File的绝对路径名字符串。
      获取的构造方法中传递的路径
      无论路径是绝对的还是相对的,getAbsolutePath方法返回的都是绝对路径
      当路径是绝对的时候,返回的就是一模一样绝对路径
      当传入的路径是相对的时候,返回的就是相对于当前项目文件所在位置的文件路径
            File f1 = new File("D:\\BBB\\EmployeeServer\\src\\a.txt");
            String absolutePath1 = f1.getAbsolutePath();
            System.out.println(absolutePath1);//C:\Users\itcast\IdeaProjects\shungyuan\a.txt
            f1.createNewFile(); // 创建a.txt文件
            
            File f2 = new File("a.txt");
            // 传入相对路径,意即a.txt存放在当前项目文件中
            String absolutePath2 = f2.getAbsolutePath();
            System.out.println(absolutePath2);// 返回当前目录下的文件路径。D:\BBB\EmployeeServer\a.txt
            //f2.createNewFile();
    
    • public String getPath() :将此File转换为路径名字符串。
      获取的构造方法中传递的路径
      toString方法调用的就是getPath方法
      源码:
      public String toString() {
      return getPath();
      }
            File f1 = new File("C:\\Users\\itcast\\IdeaProjects\\shungyuan\\a.txt");
            File f2 = new File("a.txt");
            String path1 = f1.getPath();
            System.out.println(path1);//C:\Users\itcast\IdeaProjects\shungyuan\a.txt
            String path2 = f2.getPath();
            System.out.println(path2);//a.txt
    
            System.out.println(f1);//C:\Users\itcast\IdeaProjects\shungyuan\a.txt
            System.out.println(f1.toString());//C:\Users\itcast\IdeaProjects\shungyuan\a.txt
    
    • public String getName() :返回由此File表示的文件或目录的名称。
      获取的就是构造方法传递路径的结尾部分(文件/文件夹)
            File f1 = new File("C:\\Users\\itcast\\IdeaProjects\\shungyuan\\a.txt");
            String name1 = f1.getName();
            System.out.println(name1);//a.txt
    
            File f2 = new File("C:\\Users\\itcast\\IdeaProjects\\shungyuan");
            String name2 = f2.getName();
            System.out.println(name2);//shungyuan
    
    • public long length() :返回由此File表示的文件的长度。
      获取的是构造方法指定的文件的大小,以字节为单位
      注意:
      文件夹是没有大小概念的,不能获取文件夹的大小
      如果构造方法中给出的路径不存在,那么length方法返回0
            // 要保证路径下有该文件
            File f1 = new File("C:\\develop\\a\\1.jpg");
            long l1 = f1.length();
            System.out.println(l1);//780831字节
    
            File f2 = new File("C:\\develop\\a\\2.jpg");
            System.out.println(f2.length());//0
    
            File f3 = new File("C:\\develop\\a");
            System.out.println(f3.length());//0 文件夹没有大小概念的
    

    方法演示,代码如下:

    public class FileGet {
        public static void main(String[] args) {
            File f = new File("d:/aaa/bbb.java");     
            System.out.println("文件绝对路径:"+f.getAbsolutePath());
            System.out.println("文件构造路径:"+f.getPath());
            System.out.println("文件名称:"+f.getName());
            System.out.println("文件长度:"+f.length()+"字节");
    
            File f2 = new File("d:/aaa");     
            System.out.println("目录绝对路径:"+f2.getAbsolutePath());
            System.out.println("目录构造路径:"+f2.getPath());
            System.out.println("目录名称:"+f2.getName());
            System.out.println("目录长度:"+f2.length());
        }
    }
    输出结果:
    文件绝对路径:d:\aaa\bbb.java
    文件构造路径:d:\aaa\bbb.java
    文件名称:bbb.java
    文件长度:636字节
    
    目录绝对路径:d:\aaa
    目录构造路径:d:\aaa
    目录名称:aaa
    目录长度:4096
    

    API中说明:length(),表示文件的长度。但是File对象表示目录,则返回值未指定。

    绝对路径和相对路径

    • 绝对路径:从盘符开始的路径,这是一个完整的路径。
    • 相对路径:相对于项目目录的路径,这是一个便捷的路径,开发中经常使用。
    public class FilePath {
        public static void main(String[] args) {
          	// D盘下的bbb.java文件
            File f = new File("D:\\bbb.java");
            System.out.println(f.getAbsolutePath());
          	
    		// 项目下的bbb.java文件
            File f2 = new File("bbb.java");
            System.out.println(f2.getAbsolutePath());
        }
    }
    输出结果:
    D:\bbb.java
    D:\idea_project_test4\bbb.java
    

    判断功能的方法

    • public boolean exists() :此File表示的文件或目录是否实际存在。
      用于判断构造方法中的路径是否存在
      存在:true
      不存在:false
    • public boolean isDirectory() :此File表示的是否为目录。
      用于判断构造方法中给定的路径是否以文件夹结尾
      是:true
      否:false
      public boolean isFile() :此File表示的是否为文件。
      用于判断构造方法中给定的路径是否以文件结尾
      是:true
      否:false
      注意:
      电脑的硬盘中只有文件/文件夹,两个方法是互斥
      这两个方法使用前提,路径必须是存在的,否则都返回false
    • public boolean isFile() :此File表示的是否为文件。

    这部分需要自己创建几个文件/文件夹去尝试,很简单
    方法演示,代码如下:

    public class FileIs {
        public static void main(String[] args) {
            File f = new File("d:\\aaa\\bbb.java");
            File f2 = new File("d:\\aaa");
          	// 判断是否存在
            System.out.println("d:\\aaa\\bbb.java 是否存在:"+f.exists());
            System.out.println("d:\\aaa 是否存在:"+f2.exists());
          	// 判断是文件还是目录
            System.out.println("d:\\aaa 文件?:"+f2.isFile());
            System.out.println("d:\\aaa 目录?:"+f2.isDirectory());
        }
    }
    输出结果:
    d:\aaa\bbb.java 是否存在:true
    d:\aaa 是否存在:true
    d:\aaa 文件?:false
    d:\aaa 目录?:true
    

    创建删除功能的方法

    • public boolean createNewFile() :当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。
      创建文件的路径和名称在构造方法中给出(构造方法的参数)
      返回值:布尔值
      true:文件不存在,创建文件,返回true
      false:文件存在,不会创建,返回false

      注意:
      1.此方法只能创建文件,不能创建文件夹
      2.创建文件的路径必须存在,否则会抛出异常
      public boolean createNewFile() throws IOException
      createNewFile声明抛出了IOException,我们调用这个方法,就必须的处理这个异常,要么throws,要么try-catch

    • public boolean delete() :删除由此File表示的文件或目录。
      此方法,可以删除构造方法路径中给出的文件/文件夹
      返回值:布尔值
      true:文件/文件夹删除成功,返回true
      false:文件夹中有内容,不会删除返回false;构造方法中路径不存在false
      注意:
      delete方法是直接在硬盘删除文件/文件夹,不走回收站,删除要谨慎

    • public boolean mkdir() :创建由此File表示的目录。

    • public boolean mkdirs() :创建由此File表示的目录,包括任何必需但不存在的父目录。
      创建文件夹的路径和名称在构造方法中给出(构造方法的参数)
      返回值:布尔值
      true:文件夹不存在,创建文件夹,返回true
      false:文件夹存在,不会创建,返回false;构造方法中给出的路径不存在返回false
      注意:
      1.此方法只能创建文件夹,不能创建文件

    方法演示,代码如下:

    public class FileCreateDelete {
        public static void main(String[] args) throws IOException {
            // 文件的创建
            File f = new File("aaa.txt");
            System.out.println("是否存在:"+f.exists()); // false
            System.out.println("是否创建:"+f.createNewFile()); // true
            System.out.println("是否存在:"+f.exists()); // true
    		
         	// 目录的创建
          	File f2= new File("newDir");	
            System.out.println("是否存在:"+f2.exists());// false
            System.out.println("是否创建:"+f2.mkdir());	// true
            System.out.println("是否存在:"+f2.exists());// true
    
    		// 创建多级目录
          	File f3= new File("newDira\\newDirb");
            System.out.println(f3.mkdir());// false
            File f4= new File("newDira\\newDirb");
            System.out.println(f4.mkdirs());// true
          
          	// 文件的删除
           	System.out.println(f.delete());// true
          
          	// 目录的删除
            System.out.println(f2.delete());// true
            System.out.println(f4.delete());// false
        }
    }
    

    API中说明:delete方法,如果此File表示目录,则目录必须为空才能删除。

    1.4 目录的遍历

    • public String[] list() :返回一个String数组,表示该File目录中的所有子文件或目录。
      遍历构造方法中给出的目录,会获取目录中所有文件/文件夹的名称,把获取到的多个名称存储到一个String类型的数组中

    • public File[] listFiles() :返回一个File数组,表示该File目录中的所有的子文件或目录。
      注意:
      list方法和listFiles方法遍历的是构造方法中给出的目录
      如果构造方法中给出的目录的路径不存在,会抛出空指针异常
      如果构造方法中给出的路径不是一个目录,也会抛出空指针异常

    public class FileFor {
        public static void main(String[] args) {
            File dir = new File("d:\\java_code");
          
          	//获取当前目录下的文件以及文件夹的名称。
    		String[] names = dir.list();
    		for(String name : names){
    			System.out.println(name);
    		}
            //获取当前目录下的文件以及文件夹对象,只要拿到了文件对象,那么就可以获取更多信息
            File[] files = dir.listFiles();
            for (File file : files) {
                System.out.println(file);
            }
        }
    }
    

    小贴士:

    调用listFiles方法的File对象,表示的必须是实际存在的目录,否则返回null,无法进行遍历。

    展开全文
  • 创建自定义曲线,自定义的管道,路径,或者任何跟随路径的模型 找了半天,发现个 Spline 和 SplineMesh 这两个组件 找来找去没什么资料。。。 最后在油管找到个视频,抱歉无法搬运 在上面随便搜个spline ...

    想创建自定义曲线,自定义的管道,路径,或者任何跟随路径的模型

    找了半天,发现个 Spline 和 SplineMesh 这两个组件 

    找来找去没什么资料。。。

    最后在油管找到个视频,抱歉无法搬运

    在上面随便搜个spline unreal都非常多的,因为官方有个示例

    我就写个使用说明吧

    首先的首先,创建一个actor蓝图吧

    然后创建个scene的root节点吧

    之后添加一个 Spline 组件 (注意不是Spline Mesh)

    这里说一下 Spline 是样条曲线的承载器,用它来创建点,他会帮你连成曲线

    在点上复制删除,或者在线上直接添加都是可以的

    这里有一点提示一下,如果你要动态生成点的话,你肯定要清除自动创建的两个点

    然后你会发现无法删除最后一个 他灰了

    木得关系我们可以用api删除的,放心,后面会说

    这里说一下另外一个组件 Spline Mesh

    这个是用于绘制曲线的网格的东西,他是无法单独使用的,需要依附Spline里面的点属性的

    (当然非要杠的话是可以用,就是麻烦)

    下面直接按流程来说一下

    1.将你曲线的点循环添加至曲线(目前没发现直接添加数组的方法,时间短就没有仔细折腾了,欢迎留言)

    切记切记 是 AddSplinePoint 一定要看清楚了 我们是要在曲线上添加点

    也可以根据序号添加

    选项不用动就行了

    循环添加一下,这里我写了个函数,参数points是vector的数组

    这样就把你需要的点添加进去了,下面需要循环这个曲线工具的点

    获取到Spline工具内点的长度减去2设置循环(倒腾数组而已,你要想深究可以测试一下)

    循环内添加SplineMesh组件,是的你想的没错,这个就是每两个点中间的曲线mesh

    每两个点中间都要创建这个以连接曲线

    首先我们添加SplineMesh

    左键单击可以看到这个组件的细节

    需要设置一下mesh来方便显示你的管道 路径之类的

    这里一定要注意红线位置,是代表mesh向前的轴 forwardAxis

    如果你懂模型的话就是挤压轴的方向

    找个圆柱试一下你就知道了

    不过这个路径啊管道啊最重要的就是模型了,这里需要花功夫找合适的模型及调试

    添加完这个SplineMesh后需要设置这个模型的开始结束位置及正切值(Tangent)

    这个值就是从Spline组件里面获得的

    使用点的index就可以拿到了

    这里我们获取到循环当前点和下一个点的数据设置进去就行了

    如果你在这里直接创建就会遇到我说他还有个点删不掉的问题,只需要调用一下api删掉就行了

    完整的蓝图上

    咱们在关卡蓝图简单调用一下

    嗯木得问题

    这里说明下,缩放的结果不是想的那样。。。所以,模型那里确实需要时间调试的

    Spline也具备直接设置的api

    里面还有非常多功能,有需要就仔细折腾吧

    如果需要动态生成,别忘记删除原来的 SplineMesh 组件

    这个组件也可以做路径寻路,可以按照你画的固定路径来,因为能获取所有顶点嘛。。。

    可以扩展的功能还是十分多的

    希望帮到大家~~~

    展开全文
  • 高手可以直接路过,此贴只面向不会创建文件服务器的人,本帖介绍的方法可以快速提供文件服务~

    应用场景:

            需要文件服务器,向应用提供基于http协议的文件服务,让应用可以通过url访问资源。

    PS:归根到底是要提供http服务,同时将本地目录映射到指定的url下,有点类似linux的软链接,文件的物理目录未发生改变,只是为本地目录提供了基于http协议的访问方式。

    搭建方法:

    方法1、使用 apache http发布

    linux默认安装http组件,windows下也可以自己下载

    下载地址:http://httpd.apache.org/download.cgi

    需要改的就是httpd.conf这个配置文件,添加如下代码:

    Alias /namespace/ "C:/yourDir/"  

    namespace  是 相对于WebRoot的名称,即url中http://ip:port/后的相对路径;

    yourDir 就是 你本地想要发布的根目录咯。


    方法2、使用类似Tomcat这样的servlet容器发布

    有两个位置可以用来配置映射目录,核心关键词都是Context

    A:在conf目录下的server.xml中,文档最下面的 <host>标签内,可以添加一个Context 节点,

    <Context docBase="C:\yourdir\" path="/namespace" reloadable="true" />

    该方式与方法1类似。若要映射根目录,将path设定为空,即path=""。


    B:在conf\Catalina\localhost 目录中添加一个xml,这个xml的内容与A中所示内容相同

    <Context docBase="Z:/yourDir/" privileged="true" antiResourceLocking="false" antiJARLocking="false" reloadable="true">
    

    但是namespace 则作为文件名,例如该xml文件名为fileserver,则访问url为http://ip:port/fileserver/就是你设定的映射目录。


    方法3、编程发布

    我使用的是jetty,不过不是用jetty做servlet容器那样修改配置文件发布,而是借鉴了jetty的嵌入式开发模式,即使用API中提供的Endpoint。

    我的应用场景是:

    一个后台程序定时生成日志,客户想直接在网页上看到日志内容,因此我直接将后台程序根目录下的loginfo目录发布到

    http://127.0.0.1:18089/loginfo下,这样自动生成的日志可以在这个url下直接访问。当然为了显示简单,我日志是字符串拼接成html格式再写文件,这样便于控制显示样式。

    package com.system.util;
    
    import java.io.File;
    import java.net.InetSocketAddress;
    import java.util.Properties;
    
    import org.eclipse.jetty.server.Server;
    import org.eclipse.jetty.webapp.WebAppContext;
    
    import com.adc.quicktools.PropertiesUtil;
    import com.adc.quicktools.StringUtil;
    import com.adc.quicktools.file.FileControl;
    
    public class LogDetailUtil {
    	public final static String logDir="/loginfo";
    	public final static String Key_ServiceHost="service.host";
    	public final static String DefaultServiceHost="127.0.0.1";
    
    	private static String loginfoTempPath = System.getProperty("user.dir")+ logDir+"/";
    
    	private static Thread logServer;
    
    	public static void startLogServer() {
    		if (logServer == null) {
    			logServer = new Thread() {
    
    				public void run() {
    					this.setName("LogFileServer");
    					publishService();
    				}
    			};
    			logServer.start();
    		}
    	}
    
    	private static void publishService() {
    		String hostIp=getHostInfo().getProperty(Key_ServiceHost);
    		if(StringUtil.checkStringValue(hostIp)){
    			hostIp=DefaultServiceHost;
    		}
    		Server server = new Server(new InetSocketAddress(hostIp, 18089));
    		WebAppContext webContext = new WebAppContext("loginfo", logDir);
    		server.setHandler(webContext);
    		System.out.println("loginfo server is starting...");
    		try {
    			server.start();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    	
    	private static Properties hostInfo;
    
    	public static Properties getHostInfo() {
    		if (hostInfo==null||hostInfo.isEmpty()) {
    			String filePath=getRuntimeConfigDir().concat("/com/system/util/host.properties");
    			hostInfo=PropertiesUtil.loadProperties(filePath);
    		}
    		return hostInfo;
    	}
    	private static String runtimeCfgDir;
    	public static String getRuntimeConfigDir(){
    		if(!StringUtil.checkStringValue(runtimeCfgDir)){
    			runtimeCfgDir=getRuntimeBaseDir().concat("/");
    		}
    		return runtimeCfgDir;
    	}
    	private static String runtimeBaseDir;
    	
    	public static String getRuntimeBaseDir(){
    		if(!StringUtil.checkStringValue(runtimeBaseDir)){
    			runtimeBaseDir=new File(FileControl.getAppPath(LogDetailUtil.class)).getPath().replace("\\", "/").concat("/");
    		}
    		return runtimeBaseDir;
    	}
    //	public static void main(String[] args) {
    //		publishService();
    //	}
    }


    转载请注明出处!谢谢!


    展开全文
  • file创建文件和文件夹路径

    千次阅读 2018-12-21 16:40:57
     mkdirs:只能用来创建文件夹,且能创建多级目录 ,如果上级不存在,就会自动创建。(创建文件夹多用此)  createNewFile:只能用来创建文件,且只能在已存在的目录下创建文件,否则会创建失败。  (FileOutpu...

    File file = new File("路径名") 路径名的2种写法

    /**
     *mkdir:只能用来创建文件夹,且只能创建一级目录,如果上级不存在,就会创建失败。
     mkdirs:只能用来创建文件夹,且能创建多级目录 ,如果上级不存在,就会自动创建。(创建文件夹多用此)
     createNewFile:只能用来创建文件,且只能在已存在的目录下创建文件,否则会创建失败。
     (FileOutputStream os=new FileOutputStream(file)也可创建文件,看情况使用)
     */

    getParentFile()的作用是获得父目录
             问题就是.mkdirs(); 这个方法只能生成一层一层的文件夹,不能生成文件,而你的file对象路径是直接到文件那一层的,
         不用getParentFile()获得父目录的话,就会想你说的那样生成两个文件夹而不是你想要的文件,所以要先调用getParentFile()获得父目录,
         用.mkdirs()生成父目录文件夹,最后把你想要的文件生成到这个文件夹下面,就是想要的结果
     

    public class FileTest {
        
        public static void main(String[] args) {
            try {
          
                File file = new File("E:\\test\\test.txt");
                
                if(!file.getParentFile().exists()){
                    file.getParentFile().mkdirs();
                }
                
                if(!file.exists()){
                    file.createNewFile();
                }
            } catch (IOException e) {
                // TODO
                e.printStackTrace();
                
            }
        }
    }

    项目的结构:相同颜色是同级的

     



     

    bean的配置文件的读取和一般文件的读取有点差别的

     

    复制代码

        public static void getValue(String key){ //传入"time"
            Properties prop = new Properties();
            Properties prop2 = new Properties();
            Properties prop3 = new Properties();
            //要么是全路径
            File file = new File("D:\\java\\content\\eclipse-win64\\S\\java\\fd.properties");
         //要么是去在全路径基础上去掉项目名 
            File file2 = new File("java\\fd.properties");
            File file3 = new File("fd2.properties");
            try {
                //装载配置文件
                prop.load(new FileInputStream(file));
                prop2.load(new FileInputStream(file2));
                prop3.load(new FileInputStream(file3));
                
            } catch (IOException e) {
                e.printStackTrace();
            }
            //返回获取的值
            System.out.println(prop.getProperty(key)
                    + prop2.getProperty(key)+prop3.getProperty(key));
        } 
    8   8   9
    
     
     

    fd.properties的内容
    

     

     

    复制代码

    项目名是 S

        

    点开bin文件夹

    注意这个fd.properties文件

    发现:

    只有在src或者java文件夹下的java文件或资源文件才会编译,然后通过打包,会复制到commlib中


     后面有2个ok

    复制代码

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

        /*

        1.绝对路径

     

        a.带盘符,如E:/book.xml

     

        b.以http开头,http://img.baidu.com/img/book.jpg

     

    2.相对路径

     

      a.带"/"开头,如/book.xml

     

      b.不带"/"开头,如book.xml

     

     

     

     

    现在项目结构如下,在ParseXML类中操作,我实验项目System.getProperty("user.dir")=E:\ProjectTest\javaEE\

     

     

    绝对路径:

     

    new

     File("E:/ProjectTest/javaEE/src/com/ly/javaee/xml/dom4j/book.xml")---OK

     

    相对路径

     

    new

     File("book.xml")----报错(此时相当于System.getProperty("user.dir")+"book.xml",这是文件book.xml不存在user.dir下面)

     

    new File("src/com/ly/javaee/xml/dom4j/book.xml")----OK(不带"/"

     可见在项目中相对的是以项目名为根路径,此时相当于System.getProperty("user.dir")+"src/com/ly/javaee/xml/dom4j/book.xml")

     

    new File("/book.xml")----以下可以看出本JVM运行在E盘下,此时带"/"就相当于"E:/book.xml",JVM运行在哪个盘符就以哪个为根路径

     

    new

     File("./book.xml");---报错(同new File("book.xml")效果)

    展开全文
  • c# 获取文件路径的几种方法

    千次阅读 2016-04-29 11:47:50
    C# 截取带路径的文件名字,扩展名,等等 的几种方法 C#对磁盘IO操作的时候,经常会用到这些,路径,文件,文件名字,文件扩展名.  之前,经常用切割字符串来实现,  可是经常会弄错. 尤其是启始位置,多少个字节,经常弄晕. ...
  •  很多朋友都会很疑惑,既然我们都知道在Tomcat服务器上部署项目只要将项目打包,然后放到webapps目录下就可以了,为什么还需要配置虚拟路径?的确,把项目放到webapps目录下非常方便,至少在部署一个项目时,直接把...
  • Android获取SD卡路径/内存的几种方法

    万次阅读 2019-07-04 10:51:16
    本篇将会带领大家学习如何获取android路径的几常见用法,但在我开始bb之前需要大家清楚android中内存和外存之间的区别,下面进行简短介绍: android中的内存:保存在内存中的程序和文件是相互关联的,什么意思呢?...
  • java 的如果文件夹路径不存在,先创建;如果文件名 的文件不存在,先创建再读写;存在的话直接追加写,关键字true表示追加 二:代码实现 package edu.tju.cs; import java.io.File; import java.io....
  • uri路径获取的三种方法

    千次阅读 2016-09-07 20:06:54
    URI 是 Intranet 或 Internet 上可由应用程序使用的资源的一简洁表示形式。Uri 类定义了属性和方法来处理 URI,包括分析、比较和组合。 Uri 类属性是只读的;若要创建可修改的对象,请使用 Ur
  • Java创建文件和文件路径

    千次阅读 2011-12-30 16:30:30
    最近在开发过程中,经常用到创建文件路径和文件,以前经常写死在代码中,发现很多的重复代码,现在有时间,整理一下,和参考了一下网上好的文章,写了一个创建文件和创建文件路径的工具类,供以后参考使用。...
  • android存储路径创建文件

    千次阅读 2018-04-26 18:13:51
    关于安卓sd卡的一些理解:前期版本都是直接存在sdcard下面File sdcardDir = Environment.getExternalStorageDirectory();...关于创建文件、文件夹问题:mkdir:只能用来创建文件夹,且只能创建一级目...
  • maven的安装、路径配置、修改库文件路径与在eclipse中的配置 一、maven的安装 首先,先到官网去下载maven。这里是官网的地址:http://maven.apache.org/download.cgi 请选择最新的版本下载: 解压apache-maven-...
  • 设置路径翻译自How to change the Jupyter start-up folder 其他操作技巧 按路径打开 将目录移到工作文件夹 cd your directory 然后输入下面代码打开。 jupyter notebook 注释 注释 Ctrl + / 程序块 创建一个新程序...
  • JAVA获取资源路径创建文件对象

    千次阅读 2017-03-04 16:21:03
    创建文件对象时,可以使用new File(String path),当然,也可以通过new File(URI ...对于第二方式,我们首先需要创建一个URI对象,而这个URI对象可以通过Class.getResource()、ClassLoader.getResouce()方法获取到。
  • 原文地址在使用NodeJS的时候,用fs.mkdir直接创建多层路径,如果上级目录不存在,这时会报错,也就是说NodeJS不支持直接创建多层路径,这时就要先把上级目录创建出来。所以我们一般会自己写程序来判断路径是否存在,...
  • ... fopen函数使用过程发现,当fopen要打开的文件路径中,包含一个不存在路径时,不管fopen函数的第二参数设成什么,都无法建立该文件。实例: char *filename = "/usr/local/ct/mirror_im_pr
  • 首先我这个文件夹路径要怎么处理去掉前面的部分,比如我选的是AAA这个文件夹,其下可能是AAA/111/222.TXT 其上可能是c://BBB/AAA 但是我只需要服务器接受AAA/111这个路径,并且在他的服务器路径下面创建AAA/111这两...
  • Docker 修改默认存储路径的一个方法

    万次阅读 2018-08-14 16:10:19
    1. 前期安装创建centOS的虚拟机时发现自己对linux...但是docker 默认的存储路径在 /var/lib/docker下面 感觉不太好. 2. 为了解决这个问题, 计划将docker的默认存储路径从/var/lib/docker中移出去 方法: 在/home...
  • 众所周知,Linux动态库的默认搜索路径是/lib和/usr/lib。动态库被创建后,一般都复制到这两个目录中。...在Linux 中,动态库的搜索路径除了默认的搜索路径外,还可以通过以下三种方法来指定。 ...
  • 在一些图像处理或者数据处理时,需要给计算返回的数据指定一个存储路径,如果直接以被处理的文件所在路径下,并以其名命名自动生成一个文件夹,挺方便的。
  • Linux指定动态库搜索路径 众所周知,Linux动态库的默认搜索路径是/lib和/usr/lib。动态库被创建后,一般都复制到这两个目录中。当程序执行时需要某动态库, 并且该动态库还未加载到内存中,则系统会自动到...
  • Shell在某个路径下批量创建文件夹

    千次阅读 2019-09-18 22:28:41
    在使用shell脚本中,可以减少很多简单性的工作,使得...例如,今天碰到一个问题,需要在某个路径下批量创建一些文件。具体实现如下: #!/bin/bash path=/work/Problems if [ -d $path ] then echo $path else mkdi...
  • db2 创建数据库 提示路径不存在

    千次阅读 2013-06-17 18:21:13
    用DB2 v9新建数据库的时候,把”缺省路径“写的是D:\foo\bar(此目录存在),当一切操作都OK点完成的时候,提示如下: SQL1052N 数据库路径 "D:\foo\bar" 不存在。 说明: 该命令的 "" 参数中指定的路径无效。不...
  • 文件类中创建目录有两种方法,分别为mkdir()和mkdirs(); api中的介绍为: mkdir() – 创建此抽象路径名指定的目录。 mkdirs() – 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。 范例: File file = ...
  • 将某个rar格式的压缩文件下载到桌面,解压的...解决方法:将rar压缩文件放在根目录,如C盘或者D盘下面即可右键“解压到当前文件夹”进行解压。如果不行,则双击该压缩文件,然后通过窗口顶部的“解压到”按钮进行...
  • 之前一直很疑惑,android6.0上sd卡挂载storage下的sd卡路径是什么时候创建的。 因为挂载sd卡的PublicVolume,负责创建mount路径,然后挂载。 接着会创建几个fuse路径,如下: 1./mnt/runtime/default/ 2./mnt/...
  • 下面IT技术资料分享网小编就给大家整理了几种创建Windows快捷方式的几种方法:1. 在电脑桌面(或者资源管理器中)对着空白的地方点击右键,在菜单中找到新建-桌面快捷方式,根据提示进行创建一个快捷方式就可以了。2...
  • UIBezierPath UIBezierPath类可以定义一个由直线...定义形状后,就可以使用这个类的其他方法来呈现当前当前绘制上下文的路径. 创建UIBezierPath对象 + bezierPath创建并返回一个新的UIBezierPath对象。 + bezie

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,026,996
精华内容 410,798
关键字:

下面哪种方法能创建路径