java配置文件配置路径
‘壹’ java 获取配置文件路径
读取配置文件 , xxx.properties放在webroot/WEB-INF/classes/目录下
首先将配置文件转换成InputStream,有两种方式,原理一样,都是通过类加载器得到资源:
(1)InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("xx.properties");
(2) InputStream inputStream =
this.getClass() .getClassLoader().getResourceAsStream( "xx.properties" );
调用对象的getClass()方法是获得对象当前的类类型,这部分数据存在方法区中,
而后在类类型上调用 getClassLoader()方法是得到当前类型的类加载器,我们知道在Java中所有的类都是通过加载器加载到虚拟机中的,而且类加载器之间存在父 子关系,就是子知道父,父不知道子,这样不同的子加载的类型之间是无法访问的(虽然它们都被放在方法区中),所以在这里通过当前类的加载器来加载资源也就 是保证是和类类型同一个加载器加载的。
最后调用了类加载器的getResourceAsStream()方法来加载资源。
(3) 然后加载配置文件,读取属性值
Properties prop = new Properties();
prop.load(input);
String value = prop.getProperty("PropertyName");
input.close();
‘贰’ java怎么设置环境变量path和classpath(java环境变量配置classpath路径)
怎样配置java环境变量path和classpath及其作用1、环境变量配置
用鼠标右击“我的电脑”-属性-高级-环境变量
JAVA_HOME:D:ProgramFilesJavajdk1.6.0_12(JDK安装路径)
Path:%JAVA_HOME%in;(若已经有Path项,无须另外新建,直接在后面加,但需用;与前面已有的项分隔开)
CLASSPATH:.;%JAVA_HOME%lib;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar;
其中“.”表示当前路径
测试环境变量是否设置成功:运行-cmd-输入javac
如果出现如下信息:
用法:javac选项源文件
其中,可能的选项包括:
-g生成所有调试信息
-g:none不生成任何调试信息
-g:{lines,vars,source}只生成某些调试信息
-nowarn不生成任何衫凯毁警告
-verbose输出有关编译器正在执行的操作的消息
-deprecation输出使用已过时的API的源位置
-classpath路径指定查找用户类文件孙胡的位置
-cp路径指定查找用户类文件的位置
-sourcepath路径指定查找输入源文件的位置
-bootclasspath路径覆盖引导类文件的位置
-extdirs目录覆盖安装的扩展目录的位置
-endorseddirs目录覆盖签名的标准路径的位置
-d目录指定存放生成的类文件的位置
-encoding编码指定源文件使用的字符编码
-source版本提供与指定版本的源兼容性
-target版本生成特定VM版本的类文件
-version版本信息
-help输出标准选项的提要
-X输出非标准选项的提要
-J标志直接将标志传递给运行时系统
Java环境变量配置成功!
若出现
'javac'不是内部或外部命令,也不是可运行的程序或批处理文件。
说明Java环境变量配置出错了。
2、path和classpath的作用
运行路径path变量记录的是各个程序所在的路径,系统根据这个变量的值来查找运行程序(各种命令),使得或备在运行的时候不用输入全路径名。
类路径classpath环境变量通常用来记录当前路径和java类库所在的路径。在类库中包含java系统所提供的各种软件包,其中包括各个类和接口等
如果JDK的安装目录为D:jdk,应当怎样设置path和classpath的值
1、首先,在电脑祥亏找到“计算机”;
2、鼠标右键单击“计算机”图标,如下图所示,找到“属性”;
3、打开“属性团胡”之后,如下图所示,找到“高级系统设置”,打开“高级系统设置”;
4、打开“高级系统设置”之后,如下图所示,找到“环境变谨或神量”;
5、打开“环境变量”之后,如下图所示,找到“新建”,选择“新建”;
6、选择“新建”之后,如下图所示,在“变量名”处填写“CLASSPATH”,在“变量值”处,填写“.;%JAVA_HOME%lib;%JAVA_HOME%lib ools.jar;”;
7、填写完成之后,如下图所示;
8、最后,单击“确定”,保存CLASSPATH的环境变量配置。
java中如何设置classpath.工具:电脑
步骤:
1、点击此电脑,然后选择属性
2、接下来选择高级系统设置
3、然后选择环境变量配置
4、首先点击用户环仔悄境变量碧槐下面的新建,然后变量名就是path,然后变量值就是jdk的bin目录所在的位置
5、接着是JAVA_HOME,还是点击添加,用户名就是JAVA_HOME,然后变量值就是JDK的安装位置
6、CLASSPATH为java加载类(classorlib)路径,只有类在classpath中,java命令才能识别,设为念慧渣:
.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar(要加.表示当前路径)
‘叁’ java 中配置文件路径读取使用FileReader和InputStream区别和用法
一、按数据来源(去向)分类:
1、是文件: FileInputStream, FileOutputStream, FileReader, FileWriter
2、是byte[]:ByteArrayInputStream, ByteArrayOutputStream
3、是Char[]: CharArrayReader, CharArrayWriter
4、是String: StringBufferInputStream, StringReader, StringWriter
5、网络数据流:InputStream, OutputStream, Reader, Writer
二、按是否格式化输出分:
1、要格式化输出:PrintStream, PrintWriter
三、按是否要缓冲分:
1、要缓冲:BufferedInputStream, BufferedOutputStream, BufferedReader, BufferedWriter
四、按数据格式分:
1、二进制格式(只要不能确定是纯文本的): InputStream, OutputStream及其所有带Stream结束的子类
2、纯文本格式(含纯英文与汉字或其他编码方式);Reader, Writer及其所有带Reader, Writer的子类
五、按输入输出分:
1、输入:Reader, InputStream类型的子类
2、输出:Writer, OutputStream类型的子类
六、特殊需要:
1、从Stream到Reader,Writer的转换类:InputStreamReader, OutputStreamWriter
2、对象输入输出:ObjectInputStream, ObjectOutputStream
3、进程间通信:PipeInputStream, PipeOutputStream, PipeReader, PipeWriter
4、合并输入:SequenceInputStream
5、更特殊的需要:PushbackInputStream, PushbackReader, LineNumberInputStream, LineNumberReader
决定使用哪个类以及它的构造进程的一般准则如下(不考虑特殊需要):
首先,考虑最原始的数据格式是什么: 原则四
第二,是输入还是输出:原则五
第三,是否需要转换流:原则六第1点
第四,数据来源(去向)是什么:原则一
第五,是否要缓冲:原则三 (特别注明:一定要注意的是readLine()是否有定义,有什么比read, write更特殊的输入或输出方法)
第六,是否要格式化输出:原则二
Java中Inputstream与Reader的区别
Reader支持16位的Unicode字符输出,InputStream支持8位的字符输出。
Reader和InputStream分别是I/O库提供的两套平行独立的等级机构,
InputStream、OutputStream是用来处理8位元的流,
Reader、Writer是用来处理16位元的流。
而在JAVA语言中,byte类型是8位的,char类型是16位的,所以在处理中文的时候需要用Reader和Writer。
值得说明的是,在这两种等级机构下,还有一道桥梁InputStreamReader、OutputStreamWriter负责进行InputStream到Reader的适配和由OutputStream到Writer的适配。
java.io.Reader 和 java.io.InputStream 组成了 Java输入类。Reader 用于读入16位字符,也就是 Unicode编码的字符;而 InputStream 用于读入 ASCII字符和二进制数据。
在 Java中,有不同类型的 Reader 输入流对应于不同的数据源:
FileReader 用于从文件输入;
CharArrayReader 用于从程序中的字符数组输入;
StringReader 用于从程序中的字符串输入;
PipedReader 用于读取从另一个线程中的 PipedWriter 写入管道的数据。
相应的也有不同类型的 InputStream 输入流对应于不同的数据源:FileInputStream,ByteArrayInputStream,StringBufferInputStream,PipedInputStream。另外,还有两种没有对应 Reader 类型的 InputStream 输入流:
Socket 用于套接字;
URLConnection 用于 URL 连接。
这两个类使用 getInputStream() 来读取数据。
相应的,java.io.Writer 和 java.io.OutputStream 也有类似的区别。