Compliant/Non-Compliant Solutions for Java Coding

The following code segment was provided in Chapter 1 of Java Coding Guidelines:

void readData() throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream(“file”)));
// Read from the file
String data = br.readLine();

The code is presented as a noncompliant code example. Here is the compliant version of this code:

void readData(){
ByteBuffer buffer = ByteBuffer.allocateDirect(16 * 1024);
try (FileChannel rdr =
(new FileInputStream(“file”)).getChannel()) {
while ( > 0) {
// Do something with the buffer
} catch (Throwable e) {
// Handle error

For this assignment, identify two additional compliant solutions that can be utilized to ensure the protection of sensitive data. Provide a detailed explanation of factors that influence noncompliant code and specifically how your solutions are now compliant. Your explanation should be 2-3 pages in length.

Sample Solution