fix some API compatibility issues in the class library

This commit is contained in:
Joel Dice 2008-05-07 17:44:43 -06:00
parent 1cb9d0327a
commit 14e2513590
3 changed files with 30 additions and 14 deletions

View File

@ -161,16 +161,17 @@ Java_java_io_File_createNewFile(JNIEnv* e, jclass, jstring path)
}
}
extern "C" JNIEXPORT jboolean JNICALL
extern "C" JNIEXPORT void JNICALL
Java_java_io_File_delete(JNIEnv* e, jclass, jstring path)
{
const char* chars = e->GetStringUTFChars(path, 0);
int r = -1;
if (chars) {
r = UNLINK(chars);
int r = UNLINK(chars);
if (r != 0) {
throwNew(e, "java/io/IOException", strerror(errno));
}
e->ReleaseStringUTFChars(path, chars);
}
return r == 0;
}
extern "C" JNIEXPORT jboolean JNICALL

View File

@ -94,21 +94,36 @@ public class File {
return exists(path);
}
private static native void mkdir(String path);
private static native void mkdir(String path) throws IOException;
public void mkdir() {
mkdir(path);
public boolean mkdir() {
try {
mkdir(path);
return true;
} catch (IOException e) {
return false;
}
}
private static native void createNewFile(String path);
private static native void createNewFile(String path) throws IOException;
public void createNewFile() {
createNewFile(path);
public boolean createNewFile() {
try {
createNewFile(path);
return true;
} catch (IOException e) {
return false;
}
}
public static native boolean delete(String path);
public static native void delete(String path) throws IOException;
public boolean delete() {
return delete(path);
try {
delete(path);
return true;
} catch (IOException e) {
return false;
}
}
}

View File

@ -30,8 +30,8 @@ public class Logger {
this.name = name;
}
public List<Handler> getHandlers() {
return new ArrayList<Handler>(handlers);
public Handler[] getHandlers() {
return handlers.toArray(new Handler[handlers.size()]);
}
public void addHandler(Handler handler) {