在JAVA里可用properties文件// con.porperties文件和程序在一个目录下
username = admin
password = gold//程序文件
import java.io.*;
import java.util.Properties;
class TestProperties {
  public static void main(String[] args) {
    Properties prop = new Properties();
    String path = ".\\con.properties";
    try {
      InputStream is = new FileInputStream(path);
      prop.load(is);
    } catch (Exception e) {
      System.out.println(e.getMessage());
    }
    String userName = prop.getProperty("username");
    String password = prop.getProperty("password");
    System.out.println(userName+" "+password);
  }
}

解决方案 »

  1.   


    Java 对文件进行读写操作的例子很多,让初学者感到十分困惑,我觉得有必要将各种方法进行
    一次分析,归类,理清不同方法之间的异同点。一.在 JDK 1.0 中,通常是用 InputStream & OutputStream 这两个基类来进行读写操作的。
    InputStream 中的 FileInputStream 类似一个文件句柄,通过它来对文件进行操作,类似的,在 
    OutputStream 中我们有 FileOutputStream 这个对象。用FileInputStream 来读取数据的常用方法是:
    FileInputStream fstream = new FileInputStream(args[0]);
    DataInputStream in = new DataInputStream(fstream);
    用 in.readLine() 来得到数据,然后用 in.close() 关闭输入流。
    完整代码见 Example 1。用FileOutputStream 来写入数据的常用方法是:
    FileOutputStream out out = new FileOutputStream("myfile.txt");  
    PrintStream p = new PrintStream( out );
    用 p.println() 来写入数据,然后用 p.close() 关闭输入。
    完整代码见 Example 2。
    二.在 JDK 1.1中,支持两个新的对象 Reader & Writer, 它们只能用来对文本文件进行操作,而 
    JDK1.1中的 InputStream & OutputStream 可以对文本文件或二进制文件进行操作。用FileReader 来读取文件的常用方法是:
    FileReader fr = new FileReader("mydata.txt");
    BufferedReader br = new BufferedReader(fr); 
    用 br.readLing() 来读出数据,然后用br.close() 关闭缓存,用fr.close() 关闭文件。
    完整代码见 Example 3。 用 FileWriter 来写入文件的常用方法是:
    FileWriter fw = new FileWriter("mydata.txt");
    PrintWriter out = new PrintWriter(fw); 
    在用out.print 或 out.println 来往文件中写入数据,out.print 和 out.println的唯一区别是后者写
    入数据或会自动开一新行。写完后要记得 用out.close() 关闭输出,用fw.close() 关闭文件。  
    完整代码见 Example 4。Example 1:
    // FileInputDemo
    // Demonstrates FileInputStream and DataInputStream
    import java.io.*;class FileInputDemo {
     public static void main(String args[]) {
      // args.length is equivalent to argc in C
      if (args.length == 1) {
       try {
        // Open the file that is the first command line parameter
        FileInputStream fstream = new FileInputStream(args[0]);
        // Convert our input stream to a DataInputStream
        DataInputStream in = new DataInputStream(fstream);
        // Continue to read lines while there are still some left to read
        while (in.available() !=0) {
         // Print file line to screen
         System.out.println (in.readLine());
        }
        in.close();
       } catch (Exception e) {
        System.err.println("File input error");
       }
      }
      else
       System.out.println("Invalid parameters");
     }
    }Example 2:
    // FileOutputDemo
    // Demonstration of FileOutputStream and PrintStream classes
    import java.io.*;class FileOutputDemo 
    {  
     public static void main(String args[]) {       
     FileOutputStream out; // declare a file output object
      PrintStream p; // declare a print stream objecttry {
     // connected to "myfile.txt"
       out = new FileOutputStream("myfile.txt");
       // Connect print stream to the output stream
       p = new PrintStream( out );
       p.println ("This is written to a file");
       p.close();
      } catch (Exception e) {
       System.err.println ("Error writing to file");
      }
     }
    }Example 3:
    // FileReadTest.java
    // User FileReader in JDK1.1 to read a file 
    import java.io.*;class FileReadTest {   
     public static void main (String[] args) {
      FileReadTest t = new FileReadTest();
      t.readMyFile();

      
     void readMyFile() { 
      String record = null;
      int recCount = 0; 
      try { 
    FileReader fr = new FileReader("mydata.txt");
        BufferedReader br = new BufferedReader(fr);
        record = new String();
        while ((record = br.readLine()) != null) {
         recCount++;
         System.out.println(recCount + ": " + record); 
    }
    br.close();
    fr.close(); 
       } catch (IOException e) { 
         System.out.println("Uh oh, got an IOException error!");
         e.printStackTrace();
       }

     
    }  Example 4:
    // FileWriteTest.java
    // User FileWriter in JDK1.1 to writer a file 
    import java.io.*;class FileWriteTest {   
     public static void main (String[] args) {
      FileWriteTest t = new FileWriteTest();
      t.WriteMyFile();

      
     void WriteMyFile() { 
      try { 
    FileWriter fw = new FileWriter("mydata.txt");
    PrintWriter out = new PrintWriter(fw);  
    out.print(“hi,this will be wirte into the file!”);  
    out.close();
    fw.close();
       } catch (IOException e) { 
         System.out.println("Uh oh, got an IOException error!");
         e.printStackTrace();
       }

     
    }  
      

  2.   

    Java中提供了一个java.util.Properties工具类,使用Properties类您可以方便的从一个.properties属性文件中读取设置参数,示例代码如下:
        Properties props = new Properties();
        props.load(new FileInputStream("filename.properties"));    String value = props.getProperty("propertyname");
    如果您的.properties文件打包入一个Jar或War文件,您可以使用ClassLoader的getResourceAsStream()方法得到一个InputStream对象,示例代码如下:
            ClassLoader cl = this.getClass().getClassLoader();
            InputStream is = cl.getResourceAsStream("com/company/application/application.properties");
    存储这些参数时,您首先需要得到一个OutputStream对象,然后使用Properties的store()方法。示例代码如下:
        Properties prop = new Properties();
        FileOutputStream output = new FileOutputStream("Test.properties");
        prop.store(output,"my testproperties");
        output.flush();
        output.close();如果你要修改文件内容
    就是你先读出来 然后用getProperty(String key)
    或者setProperty(String key, String value)
    读取或修改之后 再用store(OutputStream out, String header)
    存一下
      

  3.   

    不要java自己提供的Properties,它好像无法将你原来的属性调入内存,你倒不如自己写一个。注意,自己去看一下Properties的源代码,然后自己去实现,或者继承Properties。但我还是喜欢将Properties中的成员变量由hashtable改为hashmap类型。你自己去做一个试试。Luck with you forever!
      

  4.   

    import    java.io.*;  
    class  Example20_10    
    {  public  static  void  main(String  args[])  
     {  try{  
       RandomAccessFile  file=new  RandomAccessFile(  "Example20_10.java  ",  "rw  ");  
       long  filePoint=0;  
       long  fileLength=file.length();  
       while(filePoint  <fileLength)  
       {String  s=file.readLine();  
         System.out.println(s);  
         filePoint=file.getFilePointer();  
         }  
       file.close();  
       }  
       catch(Exception  e){}  
     }  
    }