Skip to content

Commit 83aac35

Browse files
authored
GXFile.openWrite was broken when the file didn't exist after we change commons-io jar version. (#555)
Issue: 95578
1 parent 905074c commit 83aac35

File tree

2 files changed

+41
-2
lines changed

2 files changed

+41
-2
lines changed

java/src/main/java/com/genexus/util/GXFile.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -717,9 +717,9 @@ public void openWrite(String encoding) {
717717
resetErrors();
718718
try {
719719
if (encoding.equals("")) {
720-
fileWriter = new FileWriterWithEncoding(FileSource.getFileInstance(), "UTF8", true);
720+
fileWriter = new FileWriterWithEncoding(FileSource.getFileInstance(), "UTF8", FileSource.exists());
721721
} else {
722-
fileWriter = new FileWriterWithEncoding(FileSource.getFileInstance(), CommonUtil.normalizeEncodingName(encoding), true);
722+
fileWriter = new FileWriterWithEncoding(FileSource.getFileInstance(), CommonUtil.normalizeEncodingName(encoding), FileSource.exists());
723723
}
724724
} catch (Exception e) {
725725
setUnknownError(e);
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package com.genexus.util;
2+
3+
import com.genexus.specific.java.Connect;
4+
import org.junit.Assert;
5+
import org.junit.Test;
6+
7+
public class TestFileMethods {
8+
private static String FILE_NAME = "testFile.txt";
9+
private static String LINE1 = "Line1";
10+
private static String LINE2 = "Line2";
11+
12+
@Test
13+
public void testOpenWrite(){
14+
Connect.init();
15+
16+
GXFile testWriteFile = new GXFile();
17+
testWriteFile.setSource(FILE_NAME);
18+
testWriteFile.openWrite("");
19+
testWriteFile.writeLine(LINE1);
20+
testWriteFile.close();
21+
22+
GXFile testReadFile = new GXFile();
23+
testReadFile.setSource(FILE_NAME);
24+
testReadFile.openRead("");
25+
Assert.assertTrue(testReadFile.readLine().equals(LINE1));
26+
testReadFile.close();
27+
28+
testWriteFile.openWrite("");
29+
testWriteFile.writeLine(LINE2);
30+
testWriteFile.close();
31+
32+
testReadFile.openRead("");
33+
Assert.assertTrue(testReadFile.readLine().equals(LINE1));
34+
Assert.assertTrue(testReadFile.readLine().equals(LINE2));
35+
testReadFile.close();
36+
37+
testReadFile.delete();
38+
}
39+
}

0 commit comments

Comments
 (0)