To ensure EJB portability, the EJB specification forbids the use of functionality in the ``++java.io++`` package. Instead of reading and writing files, EJB's should use some other means of data storage and retrieval, such as JDBC.


This rule raises an issue for the first ``++java.io++`` method call in each method.


== Noncompliant Code Example

----
public class MyBean implements BeanInterface {

  private File baseline = null;

  private void readBaseline () {
    try {
      baseline = new File(Constants.INTEREST_RATE_FILE);  // Noncompliant.
      if (baseline.exists()) {
        //...
      }
    } catch (IOException e) {  
      //...
    }
  }

  private void writeBaseline() {
    try {
      FileWriter fw = new FileWriter(baseline.getAbsoluteFile());  // Noncompliant
      BufferedWriter bw = new BufferedWriter(fw);
      bw.write(content); 

      bw.close(); 
    } catch (IOException e) {  
      //...
    }
  }    
}
----


== See

* http://cwe.mitre.org/data/definitions/576.html[MITRE, CWE-576] - EJB Bad Practices: Use of Java I/O


ifdef::env-github,rspecator-view[]
'''
== Comments And Links
(visible only on this page)

include::comments-and-links.adoc[]
endif::env-github,rspecator-view[]
