乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      使用j2se api讀取properties文件的六種方法 - kindani的專欄

       grantbb 2005-07-13

      使用J2SE API讀取Properties文件的六種方法

      1。使用java.util.Properties類的load()方法
      示例: InputStream in = lnew BufferedInputStream(new FileInputStream(name));
             Properties p = new Properties();
             p.load(in);

      2。使用java.util.ResourceBundle類的getBundle()方法
      示例: ResourceBundle rb = ResourceBundle.getBundle(name, Locale.getDefault());

      3。使用java.util.PropertyResourceBundle類的構(gòu)造函數(shù)
      示例: InputStream in = new BufferedInputStream(new FileInputStream(name));
             ResourceBundle rb = new PropertyResourceBundle(in);

      4。使用class變量的getResourceAsStream()方法
      示例: InputStream in = JProperties.class.getResourceAsStream(name);
             Properties p = new Properties();
             p.load(in);

      5。使用class.getClassLoader()所得到的java.lang.ClassLoader的getResourceAsStream()方法
      示例: InputStream in = JProperties.class.getClassLoader().getResourceAsStream(name);
             Properties p = new Properties();
             p.load(in);

      6。使用java.lang.ClassLoader類的getSystemResourceAsStream()靜態(tài)方法
      示例: InputStream in = ClassLoader.getSystemResourceAsStream(name);
             Properties p = new Properties();
             p.load(in);

      補充

      Servlet中可以使用javax.servlet.ServletContext的getResourceAsStream()方法
      示例:InputStream in = context.getResourceAsStream(path);
             Properties p = new Properties();
             p.load(in);

      完整的示例,可以參考附件文件
      如何上傳文件,誰知道請告訴以下。 只好把source都貼上來了
      JProperties.java文件


      /**
      ** This program is free software.
      **
      ** You may redistribute it and/or modify it under the terms of the GNU
      ** General Public License as published by the Free Software Foundation.
      ** Version 2 of the license should be included with this distribution in
      ** the file LICENSE, as well as License.html. If the license is not
      ** included with this distribution, you may find a copy at the FSF web
      ** site at ‘www.gnu.org‘ or ‘www.fsf.org‘, or you may write to the
      ** Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139 USA.
      **
      ** THIS SOFTWARE IS PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND,
      ** NOT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY. THE AUTHOR
      ** OF THIS SOFTWARE, ASSUMES _NO_ RESPONSIBILITY FOR ANY
      ** CONSEQUENCE RESULTING FROM THE USE, MODIFICATION, OR
      ** REDISTRIBUTION OF THIS SOFTWARE.
      **/

      package com.kindani;

      //import javax.servlet.ServletContext;
      import java.util.*;
      import java.io.InputStream;
      import java.io.IOException;
      import java.io.BufferedInputStream;
      import java.io.FileInputStream;

      /**
       * 使用J2SE API読取Properties文件的六種方法
       * User: SYNFORM
       * Date: 2005/07/12
       * Time: 18:40:55
       * To change this template use File | Settings | File Templates.
       */

      public class JProperties {

          public final static int BY_PROPERTIES = 1;
          public final static int BY_RESOURCEBUNDLE = 2;
          public final static int BY_PROPERTYRESOURCEBUNDLE = 3;
          public final static int BY_CLASS = 4;
          public final static int BY_CLASSLOADER = 5;
          public final static int BY_SYSTEM_CLASSLOADER = 6;

          public final static Properties loadProperties(final String name, final int type) throws IOException {
              Properties p = new Properties();
              InputStream in = null;
              if (type == BY_PROPERTIES) {
                  in = new BufferedInputStream(new FileInputStream(name));
                  assert (in != null);
                  p.load(in);
              } else if (type == BY_RESOURCEBUNDLE) {
                  ResourceBundle rb = ResourceBundle.getBundle(name, Locale.getDefault());
                  assert (rb != null);
                  p = new ResourceBundleAdapter(rb);
              } else if (type == BY_PROPERTYRESOURCEBUNDLE) {
                  in = new BufferedInputStream(new FileInputStream(name));
                  assert (in != null);
                  ResourceBundle rb = new PropertyResourceBundle(in);
                  p = new ResourceBundleAdapter(rb);
              } else if (type == BY_CLASS) {
                  assert (JProperties.class.equals(new JProperties().getClass()));
                  in = JProperties.class.getResourceAsStream(name);
                  assert (in != null);
                  p.load(in);
                  //        return new JProperties().getClass().getResourceAsStream(name);
              } else if (type == BY_CLASSLOADER) {
                  assert (JProperties.class.getClassLoader().equals(new JProperties().getClass().getClassLoader()));
                  in = JProperties.class.getClassLoader().getResourceAsStream(name);
                  assert (in != null);
                  p.load(in);
                  //         return new JProperties().getClass().getClassLoader().getResourceAsStream(name);
              } else if (type == BY_SYSTEM_CLASSLOADER) {
                  in = ClassLoader.getSystemResourceAsStream(name);
                  assert (in != null);
                  p.load(in);
              }

              if (in != null) {
                  in.close();
              }
              return p;

          }

          // ---------------------------------------------- servlet used
      /*
          public static Properties loadProperties(ServletContext context, String path) throws IOException {
              assert (context != null);
              InputStream in = context.getResourceAsStream(path);
              assert (in != null);
              Properties p = new Properties();
              p.load(in);
              in.close();
              return p;
          }
      */

          // ---------------------------------------------- support class

          /**
           * ResourceBundle Adapter class.
           */
          public static class ResourceBundleAdapter extends Properties {
              public ResourceBundleAdapter(ResourceBundle rb) {
                  assert (rb instanceof java.util.PropertyResourceBundle);
                  this.rb = rb;
                  java.util.Enumeration e = rb.getKeys();
                  while (e.hasMoreElements()) {
                      Object o = e.nextElement();
                      this.put(o, rb.getObject((String) o));
                  }
              }

              private ResourceBundle rb = null;

              public ResourceBundle getBundle(String baseName) {
                  return ResourceBundle.getBundle(baseName);
              }

              public ResourceBundle getBundle(String baseName, Locale locale) {
                  return ResourceBundle.getBundle(baseName, locale);
              }

              public ResourceBundle getBundle(String baseName, Locale locale, ClassLoader loader) {
                  return ResourceBundle.getBundle(baseName, locale, loader);
              }

              public Enumeration<String> getKeys() {
                  return rb.getKeys();
              }

              public Locale getLocale() {
                  return rb.getLocale();
              }

              public Object getObject(String key) {
                  return rb.getObject(key);
              }

              public String getString(String key) {
                  return rb.getString(key);
              }

              public String[] getStringArray(String key) {
                  return rb.getStringArray(key);
              }

              protected Object handleGetObject(String key) {
                  return ((PropertyResourceBundle) rb).handleGetObject(key);
              }

          }

      }


      JPropertiesTest.java文件

      /**
      ** This program is free software.
      **
      ** You may redistribute it and/or modify it under the terms of the GNU
      ** General Public License as published by the Free Software Foundation.
      ** Version 2 of the license should be included with this distribution in
      ** the file LICENSE, as well as License.html. If the license is not
      ** included with this distribution, you may find a copy at the FSF web
      ** site at ‘www.gnu.org‘ or ‘www.fsf.org‘, or you may write to the
      ** Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139 USA.
      **
      ** THIS SOFTWARE IS PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND,
      ** NOT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY. THE AUTHOR
      ** OF THIS SOFTWARE, ASSUMES _NO_ RESPONSIBILITY FOR ANY
      ** CONSEQUENCE RESULTING FROM THE USE, MODIFICATION, OR
      ** REDISTRIBUTION OF THIS SOFTWARE.
      **/
      package com.kindani.test;

      import junit.framework.*;
      import com.kindani.JProperties;

      //import javax.servlet.ServletContext;
      import java.util.Properties;

      public class JPropertiesTest extends TestCase {
          JProperties jProperties;
          String key = "helloworld.title";
          String value = "Hello World!";

          public void testLoadProperties() throws Exception {
              String name = null;
              Properties p = new Properties();

              name = "C:\\IDEAP\\Properties4Methods\\src\\com\\kindani\\test\\LocalStrings.properties";
              p = JProperties.loadProperties(name, JProperties.BY_PROPERTIES);
              assertEquals(value, p.getProperty(key));

              name = "com.kindani.test.LocalStrings";
              p = JProperties.loadProperties(name,JProperties.BY_RESOURCEBUNDLE);
              assertEquals(value, p.getProperty(key));
              assertEquals(value,((JProperties.ResourceBundleAdapter)p).getString(key));

              name = "C:\\IDEAP\\Properties4Methods\\src\\com\\kindani\\test\\LocalStrings.properties";
              p = JProperties.loadProperties(name, JProperties.BY_PROPERTYRESOURCEBUNDLE);
              assertEquals(value, p.getProperty(key));
              assertEquals(value,((JProperties.ResourceBundleAdapter)p).getString(key));

              name = "\\com\\kindani\\test\\LocalStrings.properties";
              p = JProperties.loadProperties(name, JProperties.BY_SYSTEM_CLASSLOADER);
              assertEquals(value, p.getProperty(key));

              name = "\\com\\kindani\\test\\LocalStrings.properties";
              p = JProperties.loadProperties(name, JProperties.BY_CLASSLOADER);
              assertEquals(value, p.getProperty(key));

              name = "test\\LocalStrings.properties";
              p = JProperties.loadProperties(name, JProperties.BY_CLASS);
              assertEquals(value, p.getProperty(key));
          }

      /*
          public void testLoadProperties2() throws Exception {
              ServletContext context = null;
              String path = null;
              Properties p = null;
              path = "/WEB-INF/classes/LocalStrings.properties";
              p = JProperties.loadProperties(context, path);
              assertEquals(value, p.getProperty(key));
          }
      */
      }

      properties文件與JPropertiesTest.java文件相同的目錄下
      LocalStrings.properties文件

      # $Id: LocalStrings.properties,v 1.1 2000/08/17 00:57:52 horwat Exp $

      # Default localized resources for example servlets
      # This locale is en_US

      helloworld.title=Hello World!

      requestinfo.title=Request Information Example
      requestinfo.label.method=Method:
      requestinfo.label.requesturi=Request URI:
      requestinfo.label.protocol=Protocol:
      requestinfo.label.pathinfo=Path Info:
      requestinfo.label.remoteaddr=Remote Address:

      requestheader.title=Request Header Example

      requestparams.title=Request Parameters Example
      requestparams.params-in-req=Parameters in this request:
      requestparams.no-params=No Parameters, Please enter some
      requestparams.firstname=First Name:
      requestparams.lastname=Last Name:

      cookies.title=Cookies Example
      cookies.cookies=Your browser is sending the following cookies:
      cookies.no-cookies=Your browser isn‘t sending any cookies
      cookies.make-cookie=Create a cookie to send to your browser
      cookies.name=Name:
      cookies.value=Value:
      cookies.set=You just sent the following cookie to your browser:

      sessions.title=Sessions Example
      sessions.id=Session ID:
      sessions.created=Created:
      sessions.lastaccessed=Last Accessed:
      sessions.data=The following data is in your session:
      sessions.adddata=Add data to your session
      sessions.dataname=Name of Session Attribute:
      sessions.datavalue=Value of Session Attribute:

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多