sdcardの既存のスプレッドシートにデータを追加するアプリケーションを作成しようとしています。JXLとAndroidのi/oパーミッションが拒否されました
私が書き込み可能なワークブック作成しようとすると問題が生じています:
outputWorkbook = Workbook.createWorkbook(outputWorkbookFile,inputWorkbook);
を私はEclipseでLogcatでエラーが出ます:
04-05 13:29:54.809: W/System.err(32653): java.io.FileNotFoundException: /mnt/sdcard/Dev/Spreadsheets/in.xls (Permission denied)
私は入力を読み込むことができますファイルを取得してセルの内容を取得すると、Writableブックをインスタンス化するか、入力ブックをインスタンス化できますが、両方を行うことはできません。
private void doStuff() {
File directory = Environment.getExternalStorageDirectory();
inputWorkbookFile = new File(directory + "/Dev/Spreadsheets/in.xls");
outputWorkbookFile = new File(directory + "/Dev/Spreadsheets/out.xls");
try {
// Put data into an array for easier iteration
double data[];
data = new double[7];
data[0] = income;
data[1] = diesel;
data[2] = carHire;
data[3] = radio;
data[5] = 0;
data[6] = itemCost;
inputWorkbook = Workbook.getWorkbook(inputWorkbookFile);
Log.e("Testing", "Opened workbook");
if (isExternalStorageAvailable() && isExternalStorageReadable()) {
Log.e("Testing", "storage readable and available");
outputWorkbook = Workbook.createWorkbook(outputWorkbookFile,
inputWorkbook);
}
非常にうまくいきました。私はその昨夜を考えたが、それを試して忘れて、私の頭がその点で少し揚げられていた。ありがとう –