Skip to content

Commit 851d7c0

Browse files
author
Eugen
committed
Merge pull request eugenp#46 from Doha2012/master
Add few methods
2 parents f6a25f3 + 3737584 commit 851d7c0

1 file changed

Lines changed: 57 additions & 0 deletions

File tree

core-java/src/test/java/org/baeldung/java/io/TestWriter.java

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
package test;
22

33
import java.io.BufferedOutputStream;
4+
import java.io.BufferedReader;
5+
import java.io.BufferedWriter;
46
import java.io.DataInputStream;
57
import java.io.DataOutputStream;
8+
import java.io.File;
69
import java.io.FileInputStream;
710
import java.io.FileOutputStream;
11+
import java.io.FileReader;
812
import java.io.FileWriter;
913
import java.io.IOException;
1014
import java.io.PrintWriter;
@@ -13,13 +17,18 @@
1317
import java.nio.channels.FileChannel;
1418
import java.nio.channels.FileLock;
1519
import java.nio.channels.OverlappingFileLockException;
20+
import java.nio.file.Files;
21+
import java.nio.file.Path;
22+
import java.nio.file.Paths;
23+
1624
import junit.framework.TestCase;
1725

1826
public class TestWriter extends TestCase {
1927

2028
private String fileName = "test.txt";
2129
private String fileName1 = "test1.txt";
2230
private String fileName2 = "test2.txt";
31+
private String fileName3 = "test3.txt";
2332
private String fileName4 = "test4.txt";
2433
private String fileName5 = "test5.txt";
2534

@@ -35,12 +44,36 @@ protected void tearDown() throws Exception {
3544
super.tearDown();
3645
}
3746

47+
48+
public void whenWriteStringUsingBufferedWritter_thenCorrect() throws IOException{
49+
String str = "Hello";
50+
BufferedWriter writer = new BufferedWriter(new FileWriter(fileName3));
51+
writer.write(str);
52+
writer.close();
53+
}
54+
55+
public void whenAppendStringUsingBufferedWritter_thenOldContentShouldExistToo() throws IOException{
56+
String str = "World";
57+
BufferedWriter writer = new BufferedWriter(new FileWriter(fileName3 , true));
58+
writer.append(' ');
59+
writer.append(str);
60+
writer.close();
61+
}
62+
3863
public void whenWriteFormattedStringUsingPrintWriter_thenOutputShouldBeFormatted() throws IOException{
3964
FileWriter fileWriter = new FileWriter(fileName);
4065
PrintWriter printWriter = new PrintWriter(fileWriter);
4166
printWriter.printf("Product name is %s and its price is %d $","iPhone",1000);
4267
printWriter.close();
4368
}
69+
70+
public void whenWriteStringUsingFileOutputStream_thenCorrect() throws IOException{
71+
String str = "Hello";
72+
FileOutputStream outputStream = new FileOutputStream(fileName3);
73+
byte[] strToBytes = str.getBytes();
74+
outputStream.write(strToBytes);
75+
outputStream.close();
76+
}
4477

4578
public void whenWriteStringWithDataOutputStream_thenReadShouldBeTheSame() throws IOException {
4679
String value = "Hello";
@@ -106,6 +139,30 @@ public void whenWriteStringUsingFileChannel_thenReadShouldBeTheSame() throws IOE
106139

107140
}
108141

142+
public void whenWriteToTmpFile_thenCorrect() throws IOException{
143+
String toWrite = "Hello";
144+
File tmpFile = File.createTempFile("test", ".tmp");
145+
FileWriter writer = new FileWriter(tmpFile);
146+
writer.write(toWrite);
147+
writer.close();
148+
149+
BufferedReader reader = new BufferedReader(new FileReader(tmpFile));
150+
assertEquals(toWrite, reader.readLine());
151+
reader.close();
152+
}
153+
154+
public void whenWriteUsingJava7_thenCorrect() throws IOException{
155+
String str = "Hello";
156+
157+
Path path = Paths.get(fileName3);
158+
byte[] strToBytes = str.getBytes();
159+
160+
Files.write(path, strToBytes);
161+
162+
String read = Files.readAllLines(path).get(0);
163+
assertEquals(str, read);
164+
}
165+
109166
// use RandomAccessFile to write data at specific position in the file
110167
public void testWriteToPosition(int data, long position) {
111168
try {

0 commit comments

Comments
 (0)