1. java 读取配置文件路径问题
你是web工程 要能得到request对象就好了。String path=servletContext.getRealPath("/"); 得到的就是 编译后web文件夹的路径path+"/WEB-INF/configs/jdbc.properties" 就可以了。还是建议用上面的方法2 上边cl.getResourceAsStream("") 我试了一下只能得到classes下面的文件也就是\WEB-INF\classes\下的文件向上去 /WEB-INF/就不行了。 3 可以通过cl得到一个file 你对file进行操作区找 那个配置文件。。new File(cl.getResource("").getPath()) //这个file就是classes文件夹了/WEB-INF/ –/configs/jdbc.properties –/classes/这里就是src的路径了
2. java 程序打包为jar发布后,读取配置文件路径出错 ,怎样获取配置文件路径
给你个例子,读取config.properties文件。文件内容(值自己加)如下:TestHosts = FormalHosts = TestConfig = FormalConfig =HostsPath = ConfigPath = 读取文件的类如下:import java.io.BufferedInputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.io.UnsupportedEncodingException;import java.util.*;public class EvnConfig{ public static Properties PROPERTIES = new Properties(); static{ String proFilePath = System.getProperty("user.dir")+"/config.properties"; //System.out.println(proFilePath); //InputStream propertiesStream = EvnConfig.class.getClassLoader().getResourceAsStream(proFilePath); InputStream in = null; try { in = new BufferedInputStream(new FileInputStream(proFilePath)); } catch (FileNotFoundException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } try{ PROPERTIES.load(in); }catch(IOException e){ System.out.println("properties创建失败!"); e.printStackTrace(); } //System.out.println("EvnConfig.testHosts:"+PROPERTIES.getProperty("TestHosts")); } public static final String testHosts = changeCode(PROPERTIES.getProperty("TestHosts")); public static final String formalHosts = changeCode(PROPERTIES.getProperty("FormalHosts")); public static final String testConfig = changeCode(PROPERTIES.getProperty("TestConfig")); public static final String formalConfig = changeCode(PROPERTIES.getProperty("FormalConfig")); public static final String hostsPath = changeCode(PROPERTIES.getProperty("HostsPath")); public static final String configPath = changeCode(PROPERTIES.getProperty("ConfigPath")); public static String changeCode(String str){ String toStr = ""; try { //System.out.println(str + "转换…"); toStr = new String(str.getBytes("ISO-8859-1"),"GB2312"); //System.out.println(str + "转换成功!"); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block System.out.println(str + "转换失败!"); e.printStackTrace(); } return toStr; }}
3. java读取properties配置文件路径问题
可以直接通过Thread方法直接获取到项目路径下的配置文件: static { InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream("BankConPort.properties"); //加载线程文件成为流 Properties prop = new Properties(); try { prop.load(is);//直接转换为对象 BOB_ReqURI = prop.getProperty("BOB_ReqURI"); BOB_SignURI = prop.getProperty("BOB_SignURI"); BOBLOGINPASSWORD = prop.getProperty("BOBLOGINPASSWORD"); } catch (IOException ex) { java.util.logging.Logger.getLogger(BOBUtil.class.getName()).log(Level.SEVERE, null, ex); } finally { if (is != null) { try { is.close(); } catch (IOException e) { Log.info("解析信息出错", e.getMessage()); } } } }
4. 用java 如何读取配置文件(如:资源文件)中配
java读取配置文件的几种方法如下:方式一:采用ServletContext读取,读取配置文件的realpath,然后通过文件流读取出来。因为是用ServletContext读取文件路径,所以配置文件可以放入在web-info的classes目录中,也可以在应用层级及web-info的目录中。文件存放位置具体在eclipse工程中的表现是:可以放在src下面,也可放在web-info及webroot下面等。因为是读取出路径后,用文件流进行读取的,所以可以读取任意的配置文件包括xml和properties。缺点:不能在servlet外面应用读取配置信息。方式二:采用ResourceBundle类读取配置信息,优点是:可以以完全限定类名的方式加载资源后,直接的读取出来,且可以在非Web应用中读取资源文件。缺点:只能加载类classes下面的资源文件且只能读取.properties文件。方式三:采用ClassLoader方式进行读取配置信息优点是:可以在非Web应用中读取配置资源信息,可以读取任意的资源文件信息缺点:只能加载类classes下面的资源文件。方法4 getResouceAsStreamXmlParserHandler.class.getResourceAsStream 与classloader不同使用的是当前类的相对路径
5. java 怎么读取配置文件
一.读取xml配置文件(一)新建一个java bean(HelloBean. java) java代码(二)构造一个配置文件(beanConfig.xml)xml 代码(三)读取xml文件1.利用 java代码2.利用FileSystemResource读取java代码二.读取properties配置文件这里介绍两种技术:利用spring读取properties 文件和利用java.util.Properties读取(一)利用spring读取properties 文件我们还利用上面的HelloBean. java文件,构造如下beanConfig.properties文件:properties 代码helloBean.class=chb.demo.vo.HelloBean helloBean.helloWorld=Hello!chb! 属性文件中的"helloBean"名称即是Bean的别名设定,.class用于指定类来源。然后利用org.springframework.beans.factory.support.来读取属性文件 java代码(二)利用java.util.Properties读取属性文件比如,我们构造一个ipConfig.properties来保存服务器ip地址和端口,如:properties 代码ip=192.168.0.1 port=8080 三.读取位于Jar包之外的properties配置文件下面仅仅是列出读取文件的过程,剩下的解析成为properties的方法同上1 FileInputStream reader = new FileInputStream("config.properties");2 num = reader.read(byteStream);3 ByteArrayInputStream inStream = new ByteArrayInputStream(byteStream, 0, num);四.要读取的配置文件和类文件一起打包到一个Jar中String currentJarPath = URLDecoder.decode(YourClassName.class.getProtectionDomain().getCodeSource().getLocation().getFile(), "UTF-8"); //获取当前Jar文件名,并对其解码,防止出现中文乱码 JarFile currentJar = new JarFile(currentJarPath); JarEntry dbEntry = currentJar.getJarEntry("包名/配置文件"); InputStream in = currentJar.getInputStream(dbEntry); //以上YourClassName是class全名,也就是包括包名 修改: JarOutputStream out = new FileOutputStream(currentJarPath); out.putNextEntry(dbEntry); out.write(byte[] b, int off, int len); //写配置文件 。。。 out.close();
6. 如何读取Java项目不同路径的配置文件
publicStringgetAbsolutepath(){StringfileUrlPath=FileL.getPathPart(this.getClass().getResource("/").getPath());Stringos=System.getProperty("os.name");if(os.toLowerCase().startsWith("win")){fileUrlPath=fileUrlPath.substring(1,fileUrlPath.length());}returnfileUrlPath;}
7. Java读取配置文件的几种方法以及路径问题
.类加载器读取:只能读取classes或者类路径中的任意资源,但是不适合读取特别大的资源。 ①获取类加载器 ClassLoader cl = 类名.class.getClassLoader(); ②调用类加载器对象的方法:public URL getResource(String name); 此方法查找具有给定名称的资源,资源的搜索路径是虚拟机的内置类加载器的路径。 类 URL 代表一个统一资源定位符,它是指向互联网”资源”的指针。 资源可以是简单的文件或目录,也可以是对更为复杂的对象的引用. URL对象方法:public String getPath(),获取此 URL 的路径部分。 示例代码:2.类加载器读取:只能读取classes或者类路径中的任意资源,但是不适合读取特别大的资源。 ①获取类加载器 ClassLoader cl = 类名.class.getClassLoader(); ②调用类加载器对象的方法:public InputStream getResourceAsStream(String name); 返回读取指定资源的输入流。资源的搜索路径是虚拟机的内置类加载器的路径。
8. linux 下java读取配置文件
1. 如果是相对路径无论windows还是linux都是一样的。2. 如果是绝对路径,只需要看好配置文件所在linux的目录,其他的操作和windows一样(例如:linux【/usr/local/src/1.config】,windows【c:/1.config】)3. 使用File就可以直接读取了。
9. java web工程,读取配置文件路径问题
读取复src下的文制件,可以用下面的方式
publicclassTest1{publicstaticvoidmain(String[]args){Propertiespro=newProperties();InputStreamin=Test1.class.getResourceAsStream("/config.properties");try{pro.load(in);pro.getProperty("aa");}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}}
10. java 中配置文件路径读取使用FileReader和InputStream区别和用法
一、按数据来源(去向)分类:1、是文件: FileInputStream, FileOutputStream, FileReader, FileWriter2、是byte[]:ByteArrayInputStream, ByteArrayOutputStream3、是Char[]: CharArrayReader, CharArrayWriter4、是String: StringBufferInputStream, StringReader, StringWriter5、网络数据流: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, OutputStreamWriter2、对象输入输出:ObjectInputStream, ObjectOutputStream3、进程间通信:PipeInputStream, PipeOutputStream, PipeReader, PipeWriter4、合并输入:SequenceInputStream5、更特殊的需要: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 也有类似的区别。
未经允许不得转载:山九号 » java读取配置文件路径|java web工程读取配置文件路径问题