Avoid creating FileStream directly
TRY THIS RULE ID: java-best-practices/avoid-filestream
Language: Java
Severity: Info
Category: Best Practices
Description The classes that creates FileInputStream
and FileOutputStream
triggers too much garbage collection. Instead, use methods from the nio
package that cause less garbage collection.
Learn More Non-Compliant Code Examples class Main {
public static void main ( String [] args ) {
String filename = "/path/to/file.txt" ;
FileInputStream fis = new FileInputStream ( filename );
FileOutputStream fos = new FileOutputStream ( filename );
FileReader fr = new FileReader ( filename );
FileWriter fw = new FileWriter ( filename );
String s = new String ( "woeijf" );
}
}
Compliant Code Examples class Main {
public static void main ( String [] args ) {
String filename = "/path/to/file.txt" ;
try ( InputStream is = Files . newInputStream ( Paths . get ( filename ))) {
}
try ( OutputStream os = Files . newOutputStream ( Paths . get ( filename ))) {
}
try ( BufferedReader br = Files . newBufferedReader ( Paths . get ( filename ), StandardCharsets . UTF_8 )) {
}
try ( BufferedWriter wr = Files . newBufferedWriter ( Paths . get ( filename ), StandardCharsets . UTF_8 )) {
}
}
}
Seamless integrations. Try Datadog Code Analysis