always create file if necessary in Java_java_io_FileOutputStream_open

Previously, we would only create the file if it did not already exist
*and* we weren't appending.  Now we do so whether appending or not.
This commit is contained in:
Joel Dice 2011-01-14 11:26:00 -07:00
parent d12d33d716
commit b6978c6c68
2 changed files with 10 additions and 8 deletions

View File

@ -624,7 +624,9 @@ Java_java_io_FileOutputStream_open(JNIEnv* e, jclass, jstring path, jboolean app
{
string_t chars = getChars(e, path);
if (chars) {
int fd = doOpen(e, chars, append ? (O_WRONLY | O_APPEND) : (O_WRONLY | O_CREAT | O_TRUNC));
int fd = doOpen(e, chars, append
? (O_WRONLY | O_CREAT | O_APPEND)
: (O_WRONLY | O_CREAT | O_TRUNC));
releaseChars(e, path, chars);
return fd;
} else {

View File

@ -4,14 +4,9 @@ import java.io.File;
import java.io.IOException;
public class FileOutput {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
private static void test(boolean appendFirst) throws IOException {
try {
FileOutputStream f = new FileOutputStream("test.txt");
FileOutputStream f = new FileOutputStream("test.txt", appendFirst);
f.write("Hello world!\n".getBytes());
f.close();
@ -37,4 +32,9 @@ public class FileOutput {
}
}
public static void main(String[] args) throws IOException {
test(false);
test(true);
}
}