corda/sgx-jvm/avian/test/FileOutput.java

48 lines
1.2 KiB
Java
Raw Normal View History

2010-08-15 01:05:18 +00:00
import java.io.FileOutputStream;
import java.io.FileInputStream;
import java.io.File;
2010-08-15 01:05:18 +00:00
import java.io.IOException;
public class FileOutput {
private static void expect(boolean v) {
if (! v) throw new RuntimeException();
}
private static void test(boolean appendFirst) throws IOException {
try {
FileOutputStream f = new FileOutputStream("test.txt", appendFirst);
2010-08-15 01:05:18 +00:00
f.write("Hello world!\n".getBytes());
f.close();
FileOutputStream f2 = new FileOutputStream("test.txt", true);
f2.write("Hello world again!".getBytes());
f2.close();
FileInputStream in = new FileInputStream("test.txt");
byte[] buffer = new byte[256];
int c;
int offset = 0;
while ((c = in.read(buffer, offset, buffer.length - offset)) != -1) {
offset += c;
}
in.close();
2010-08-15 01:05:18 +00:00
if (! "Hello world!\nHello world again!".equals
(new String(buffer, 0, offset)))
{
throw new RuntimeException();
}
} finally {
expect(new File("test.txt").delete());
}
2010-08-15 01:05:18 +00:00
}
public static void main(String[] args) throws IOException {
expect(new File("nonexistent-file").length() == 0);
test(false);
test(true);
}
2010-08-15 01:05:18 +00:00
}