cordova-android/framework/src/com/phonegap/FileUtils.java
2009-12-07 14:11:35 -08:00

125 lines
2.9 KiB
Java

package com.phonegap;
import java.io.*;
import android.webkit.WebView;
public class FileUtils {
WebView mView;
DirectoryManager fileManager;
FileReader f_in;
FileWriter f_out;
FileUtils(WebView view)
{
mView = view;
}
public int testSaveLocationExists(){
if (fileManager.testSaveLocationExists())
return 0;
else
return 1;
}
public long getFreeDiskSpace(){
long freeDiskSpace=fileManager.getFreeDiskSpace();
return freeDiskSpace;
}
public int testFileExists(String file){
if (fileManager.testFileExists(file))
return 0;
else
return 1;
}
public int testDirectoryExists(String file){
if (fileManager.testFileExists(file))
return 0;
else
return 1;
}
/**
* Delete a specific directory.
* Everyting in side the directory would be gone.
* TODO: JavaScript Call backs for success and error handling
*/
public int deleteDirectory (String dir){
if (fileManager.deleteDirectory(dir))
return 0;
else
return 1;
}
/**
* Delete a specific file.
* TODO: JavaScript Call backs for success and error handling
*/
public int deleteFile (String file){
if (fileManager.deleteFile(file))
return 0;
else
return 1;
}
/**
* Create a new directory.
* TODO: JavaScript Call backs for success and error handling
*/
public int createDirectory(String dir){
if (fileManager.createDirectory(dir))
return 0;
else
return 1;
}
public String read(String filename)
{
String data = "";
String output = "";
try {
FileInputStream fstream = new FileInputStream(filename);
DataInputStream in = new DataInputStream(fstream);
while (in.available() !=0)
{
data += in.readLine();
}
} catch (FileNotFoundException e) {
data = "FAIL: File not found";
} catch (IOException e) {
data = "FAIL: IO ERROR";
}
mView.loadUrl("javascript:navigator.file.hasRead('" + data + "')");
return data;
}
public int write(String filename, String data, boolean append)
{
String FilePath= filename;
try {
byte [] rawData = data.getBytes();
ByteArrayInputStream in = new ByteArrayInputStream(rawData);
FileOutputStream out= new FileOutputStream(FilePath, append);
byte buff[] = new byte[rawData.length];
in.read(buff, 0, buff.length);
out.write(buff, 0, rawData.length);
out.flush();
out.close();
mView.loadUrl("javascript:navigator.file.winCallback('File written')");
} catch (Exception e) {
mView.loadUrl("javascript:navigator.file.failCallback('Fail')");
}
return 0;
}
}