You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by se...@apache.org on 2013/05/16 13:40:39 UTC
svn commit: r1483304 -
/commons/proper/io/trunk/src/test/java/org/apache/commons/io/input/TailerTest.java
Author: sebb
Date: Thu May 16 11:40:38 2013
New Revision: 1483304
URL: http://svn.apache.org/r1483304
Log:
Test data file needs to be read/written using UTF-8
Modified:
commons/proper/io/trunk/src/test/java/org/apache/commons/io/input/TailerTest.java
Modified: commons/proper/io/trunk/src/test/java/org/apache/commons/io/input/TailerTest.java
URL: http://svn.apache.org/viewvc/commons/proper/io/trunk/src/test/java/org/apache/commons/io/input/TailerTest.java?rev=1483304&r1=1483303&r2=1483304&view=diff
==============================================================================
--- commons/proper/io/trunk/src/test/java/org/apache/commons/io/input/TailerTest.java (original)
+++ commons/proper/io/trunk/src/test/java/org/apache/commons/io/input/TailerTest.java Thu May 16 11:40:38 2013
@@ -20,9 +20,11 @@ import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
import java.io.RandomAccessFile;
import java.io.Writer;
import java.nio.charset.Charset;
@@ -122,15 +124,20 @@ public class TailerTest extends FileBase
final Thread thread = new Thread(tailer);
thread.start();
+ // Need to use UTF-8 to read & write the file otherwise it can be corrupted (depending on the default charset)
+ final Charset charsetUTF8 = Charset.forName("UTF-8");
+ Writer out = new OutputStreamWriter(new FileOutputStream(file), charsetUTF8);
BufferedReader reader = null;
try{
List<String> lines = new ArrayList<String>();
- reader = new BufferedReader(new InputStreamReader(new FileInputStream(origin)));
+ reader = new BufferedReader(new InputStreamReader(new FileInputStream(origin), charsetUTF8));
String line = null;
while((line = reader.readLine()) != null){
- write(file, line);
+ out.write(line);
+ out.write("\n");
lines.add(line);
}
+ out.close(); // ensure data is written
final long testDelayMillis = delay * 10;
Thread.sleep(testDelayMillis);
@@ -148,6 +155,7 @@ public class TailerTest extends FileBase
}finally{
tailer.stop();
IOUtils.closeQuietly(reader);
+ IOUtils.closeQuietly(out);
}
}