• File文件操作
    1. 在jsp和class文件中调用的相对路径不同。在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用System.getProperty("user.dir")获取你工程的绝对路径。( 不过听说在linux下无法获取,未试验)

    2. 另:在Jsp,Servlet,Java中详细获得路径的方法!

    3. 1.jsp中取得路径:

    4. 以工程名为TEST为例:

    5. (1)得到包含工程名的当前页面全路径:request.getRequestURI()

    6. 结果:/TEST/test.jsp

    7. (2)得到工程名:request.getContextPath()

    8. 结果:/TEST

    9. (3)得到当前页面所在目录下全名称:request.getServletPath()

    10. 结果:如果页面在jsp目录下 /TEST/jsp/test.jsp

    11. (4)得到页面所在服务器的全路径:application.getRealPath("页面.jsp")

    12. 结果:D:\resin\webapps\TEST\test.jsp

    13. (5)得到页面所在服务器的绝对路径:absPath=newjava.io.File(application.getRealPath(request.getRequestURI())).getParent();

    14. 结果:D:\resin\webapps\TEST

    15. 2.在类中取得路径:

    16. (1)类的绝对路径:Class.class.getClass().getResource("/").getPath()

    17. 结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/

    18. (2)得到工程的路径:System.getProperty("user.dir")

    19. 结果:D:\TEST

    20. 3.在Servlet中取得路径:

    21. (1)得到工程目录:request.getSession().getServletContext().getRealPath("") 参数可具体到包名。

    22. 结果:E:\Tomcat\webapps\TEST

    23. (2)得到IE地址栏地址:request.getRequestURL()

    24. 结果:http://localhost:8080/TEST/test

    25. (3)得到相对地址:request.getRequestURI()

    26. 结果:/TEST/test

    struts2设置了struts.multipart.saveDir后会在根目录建立文件夹,这样会涉及linux下的权限问题,

    最好不要设置,使用struts默认

    需要使用路径时,用下面的方法取得项目根目录的绝对路径(Tools为方法类)

    public static String getRootPath() {
    String classPath = Tools.class.getClassLoader().getResource("/").getPath();
    String rootPath = "";
    //windows下
    if("\\".equals(File.separator)){
    rootPath = classPath.substring(1,classPath.indexOf("/WEB-INF/classes"));
    rootPath = rootPath.replace("/", "\\");
    }
    //linux下
    if("/".equals(File.separator)){
    rootPath = classPath.substring(0,classPath.indexOf("/WEB-INF/classes"));
    rootPath = rootPath.replace("\\", "/");
    }
    return rootPath;
    }

  • .propertites
  1. 查询一个值

    /**
    * 根据Key 获取 Value值
    * @param key
    * @return
    */
    public static String getKey(String key){
    Properties properties=new Properties();
    String value=null;
    try {
    InputStream is= NetProperty.class.getClassLoader().getResourceAsStream("net.properties");
    properties.load(is);
    value=properties.getProperty(key);
    is.close();
    } catch (Exception e) {
    }
    return value;
    }
  2. 添加一个值
    /**
    * 添加单个数据到 net.properties
    * @param data
    */
    public static void setPropertie(String key,String value){ Properties properties=new Properties();
    try {
    InputStream is= NetProperty.class.getClassLoader().getResourceAsStream("net.properties");
    properties.load(is);
    properties.setProperty(key, value);
    File file = new File(NetProperty.class.getClassLoader().getResource("net.properties").toURI());
    FileOutputStream os =new FileOutputStream(file);
    properties.store(os, null);
    os.flush();
    os.close();
    is.close();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (URISyntaxException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } }

File文件以及.propertites文件操作的更多相关文章

  1. C语言中file文件指针概念及其操作 (转载)

    文件 文件的基本概念 所谓"文件"是指一组相关数据的有序集合. 这个数据集有一个名称,叫做文件名.实际上在前面的各章中我们已经多次使用了文件,例如源程序文件.目标文件.可执行文件. ...

  2. Java中Io流操作-File类的常用操作-创建文件,创建文件夹

    package com.hxzy.IOSer; import java.io.File;import java.io.IOException; public class Demo03 { public ...

  3. UWP开发之Template10实践:本地文件与照相机文件操作的MVVM实例(图文付原代码)

    前面[UWP开发之Mvvmlight实践五:SuspensionManager中断挂起以及复原处理]章节已经提到过Template10,为了认识MvvmLight的区别特做了此实例. 原代码地址:ht ...

  4. java中文件的I/O操作

    java中文件的读写操作 (一) (1)java中文件的字节转成字符读操作 FileInputStream fStream = new FileInputStream("test.txt&q ...

  5. C#操作文件夹及文件的方法的使用

    本文收集了目前最为常用的C#经典操作文件的方法,具体内容如下:C#追加.拷贝.删除.移动文件.创建目录.递归删除文件夹及文件.指定文件夹下面的所有内容copy到目标文件夹下面.指定文件夹下面的所有内容 ...

  6. PYTHON对文件及文件夹的一些操作

    python中对文件.文件夹的操作需要涉及到os模块和shutil模块. 创建文件:1) os.mknod("test.txt") 创建空文件2) open("test. ...

  7. php文件夹与文件目录操作函数

    在php中一些常用的文件夹/文件目录操作函数总结. php文件夹操作函数 string basename ( string path [, string suffix] ) 给出一个包含有指向一个文件 ...

  8. ASP FSO操作文件(复制文件、重命名文件、删除文件、替换字符串)

    ASP FSO操作文件(复制文件.重命名文件.删除文件.替换字符串)FSO的意思是FileSystemObject,即文件系统对象.FSO对象模型包含在Scripting 类型库 (Scrrun.Dl ...

  9. C# IO操作(四)大文件拷贝(文件流的使用)、文件编码

         大文件拷贝(文件流的使用).文件编码 首先说一下大文件拷贝和文件流,因为计算机的内存资源是有限的,面对几个G甚至更大的文件,需要通过程序来完成拷贝,就需要用到文件流(因为我们无法做到把文件一 ...

随机推荐

  1. python爬xx图代码

    今日 好热,照样是挖洞挖不到,看了几天的python爬虫,学会了xpath解析 撸一个代码玩玩] 不要说什么,优化之类的,刚学完,跑了一阵 ,还可以  挺稳定 # -*- coding:utf-8 - ...

  2. 日期插件Mobiscroll

    http://mobiscroll.com/ http://www.cnblogs.com/hxling/archive/2012/12/12/2814207.html http://www.wglo ...

  3. JavaScript基础part1

    JavaScript介绍 你不知道它是什么就学?这就是一个网页嵌入式脚本语言...仅此而已 JavaScript组成 一个完整的 JavaScript 实现是由以下 3 个不同部分组成的: 核心(EC ...

  4. BZOJ1821_Group部落划分_KEY

    题目传送门 这是一道并查集的题目,相信很多人都看出来了. 用一个类似Kurskal的东西求出最近的最大值. 对于一些可以划分在同一个部落里的边,我们一定是优先选择短边合并. code: /****** ...

  5. netty之管道处理流程

    1.我们在使用netty的是有都会存在将channelBuffer的数据处理成相应的String或者自定义数据.而这里主要是介绍管道里面存在的上行和下行的数据处理方式 2.通过一张图片来看一下具体管道 ...

  6. 基于Docker的UI自动化初探

    本文来自网易云社区 前言 一直以来,项目迭代的时间都是比较紧张的,开发加班加点coding,测试加班加点提bug.都说"时间像海绵里的水,挤挤总会有的"(当然这里的"挤挤 ...

  7. HBase 数据的多版本特性潜在的意外

    HBase做为KeyValue结构存储,在存储上是依照RowKey的字典序进行排序,对于很多应用而言这可能远远不够,好在HBase的数据可以存储多个版本,并且版本可以排序,其理论上最大的版本数目Int ...

  8. java对于Redis中jedis的操作

    package com.answer.redis; import java.util.HashMap; import java.util.List; import java.util.Map; imp ...

  9. Android Preference 设置偏好全攻略

    Android 设置是每个App必不可小的东西,看似很简单,但是初学不熟悉的很花时间去研究,特别样式兼容方面,以及有自定义设置的需求,下面是对用法做一个总结 Preference结构 界面结构看下图 ...

  10. OpenSUSE 11 安装Qt5.0,失败,失败,失败,留个坑,以后来填,万一实现了呢

    我又来无耻的写问题来了,这次还真的是没有解决,线留坑吧,万一以后实现了. 同样,这次也是以恶搞网友说听说想在open suse 上面安装5.0版本以后的Qt,自己折腾好几没有成功. 我一想,哎,这不是 ...