Which two try statements, when inserted at line ***, enable the code to successfully move the file info.txt to the destination directory…?

Given the code fragment:

Which two try statements, when inserted at line ***, enable the code to successfully move the file
info.txt to the destination directory, even if a file by the same name already exists in the destination
directory?

Given the code fragment:

Which two try statements, when inserted at line ***, enable the code to successfully move the file
info.txt to the destination directory, even if a file by the same name already exists in the destination
directory?

A.
try (FileChannel in = new FileInputStream (source). getChannel(); FileChannel out = new
FileOutputStream
(dest).getChannel()) { in.transferTo(0, in.size(), out);

B.
try ( Files.copy(Paths.get(source),Paths.get(dest));
Files.delete (Paths.get(source));

C.
try ( Files.copy(Paths.get(source),
Paths.get(dest),StandardCopyOption.REPLACE_EXISTING); Files.delete
(Paths.get(source));

D.
try (Files.move(Paths.get(source),Paths.get(dest));

E.
try(BufferedReader br = Files.newBufferedReader(Paths.get(source), Charset.forName(“UTF-8”));
BufferedWriter bw = Files.newBufferedWriter(Paths.get(dest), Charset.forName(“UTF-8”)); String
record =
“”;
while ((record = br.readLine()) ! = null) {
bw.write(record);
bw.newLine();
}
Files.delete(Paths.get(source));

Explanation:

A: copies only, don’t move operation
B,C,D (no try-with-resource !) syntax change to: try { …
B: throws FileAlreadyExistsException
C: correct if syntax change to : StandardCopyOption.REPLACE_EXISTING (before
REPLACE_Existing)
D: throws FileAlreadyExistsException
E: works properly if the sourcefile has the correct format, utf-8 here (else throws
MalformedInputException)
AND syntax is corrected to:
try ( BufferedReader br = Files.newBufferedReader(Paths.get(source), Charset.forName(“UTF-8));
BufferedWriter bw = Files.newBufferedWriter(Paths.get(dest), Charset.forName(“UTF-8)); ){
String record = “”;
…..



Leave a Reply 3

Your email address will not be published. Required fields are marked *


jalex

jalex

C,E

liar

liar

WRONG. C doesnt compile coz its doesnt implement autocloaseable. correct is AE

Humberto Bañuelos Flores

Humberto Bañuelos Flores

Answerd is A if you put in.transferTo(0, in.size(), out);