1

次のロジックを必要とするクラスに取り組んでいます。

If properties file @ "c:\somepath" (m_writePath) exists 
   if there is a value for the key offset 
      getProperty(offset)
   else
      write offset value
else 
   create property file ("c:/somepath")
   write offset value

基本的に、これは私の現在の設定です:

public class myclass {

    /**
    * The properties file to store offset value.
    */
    private static Properties m_offsetProperty = new Properties();


    /**
    * Process stuff.
    */       
    private void processStuff() {
       File tmpFile = new File(m_writePath + "lastOffset.properties");

       if (tmpFile.exists()) {
          m_offsetProperty.load(new FileInputStream(m_writePath +    "lastOffset.properties"));
          m_offset = Long.getLong(m_offsetProperty.getProperty("offset"));     
       }
       else {
          createOffsetFile();
          m_offset = 0;
          setOffsetProperty();
       }
    }

    /**
    * Create properties file writePath/offset.properties.
    */
    private void createOffsetFile() {
       m_offsetProperty.setProperty("offset", String.valueOf(m_offset));
       File propFile = new File(m_writePath + "lastOffset.properties");
       FileWriter fw = null;
       fw = new FileWriter(propFile);
       m_offsetProperty.store(fw, null);
    }

    /**
    * Write offset to properties file writePath/offset.properties.
    */
    private void setOffsetProperty() {
       m_offsetProperty.setProperty("offset", String.valueOf(m_offset));
       m_offsetProperty.store(new FileOutputStream(m_writePath + "lastOffset.properties"), null);
    }
}

プロパティ ファイルが作成され、書き込まれていますが、なんらかの理由でオフセット キーの値を読み取ることができません。また、プロパティ ファイルには、その 1 つのキーと値のペアのみが含まれます。簡単にするために、例外処理と他の多くのメソッドを取り出しました。何か案は?

4

0 に答える 0