ファイル存在チェック
ファイル存在チェックをクラスで実装したサンプルです。
import android.content.Context;
import java.io.File;
public class clsFileExists {
//getFilesDir(内部データ領域)
//ディレクトリ取得メソッド
//「getFilesDir」はContextを使用します
//ex.)
//context.getFilesDir()
public int FileExists(Context context, String sFileName)
{
int iResult = 0;
clsTemp1 cls = new clsTemp1();
//ファイルのパス
String sPath = cls.getPath(context, sFileName);
//ファイルオブジェクトを生成
File file =new File(sPath);
//ファイル存在チェック
if(file.exists() != true)iResult=1;
return iResult;
}
public int FileExists2(Context context,String sFileName)
{
int iResult = 0;
//ファイルオブジェクトを生成
//File file = context.getFileStreamPath(sPath.toString());
File file = context.getFileStreamPath(sFileName);
//ファイル存在チェック
if(file.exists() != true)iResult=1;
return iResult;
}
}
|
クラスの呼び出し側です。
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//ファイル存在チェック
fileExists();
//ファイル削除
//fileDelete();
//ファイルコピー
//fileCopy();
//ファイル移動
//fileMove();
//ファイル作成
//fileCreate();
}
//ファイル存在チェック
private int fileExists()
{
//変数宣言
int iResult = 0;
String sFileName = "";
Log.d("fileExists","クラスをインスタンス化");
//ファイルクラスをインスタンス化
clsFileExists cls = new clsFileExists();
//strings.xmlを取得するためのクラスをインスタンス化
clsTemp1 cls2 = new clsTemp1();
Log.d("fileExists","strings.xmlからファイル名を取得");
//strings.xmlからファイル名を取得
//sFileName = cls2.getStringXmlData(this, R.string.png_file_name);
//sFileName = cls2.getStringXmlData(this, R.string.png_file_name2);
sFileName = cls2.getStringXmlData(this, R.string.png_file_name3);
Log.d("sFileName", sFileName);
//ファイル存在チェック
Log.d("fileExists","ファイル存在チェック");
iResult = cls.FileExists(this, sFileName);
Log.d("iResult", String.valueOf(iResult));
return iResult;
}
}
|
パスやファイル名を取得しているクラスです。
import android.content.Context;
import android.util.Log;
public class clsTemp1 {
//strings.xmlから指定した文字列を取得します。
//context:Context
//iResourceId:strings.xmlに定義しているリソースId
public String getStringXmlData(Context context, int iResourceId)
{
//strings.xmlからリソースIDを指定して文字列を取得します。
return context.getString(iResourceId);
}
public String getPath(Context context, String sFileName)
{
//ファイルのパス
String sPath = context.getFilesDir().getAbsolutePath() + "/" + sFileName;
Log.d("sPath", sPath);
/*
//ファイルのパス
StringBuffer sPath = new StringBuffer();
sPath.append(context.getFilesDir());
sPath.append("\\");
sPath.append(sFileName);
Log.d("sPath", sPath.toString());
*/
//ex.)
//sPath: /data/data/test.example.com.test23/files/ic_launcher.png
return sPath;
}
}
|
サンプルに使用しているstrings.xmlです。
<resources>
<string name="app_name">test23</string>
<string name="png_file_name">ic_launcher.png</string>
<string name="png_file_name2">ic_launcher2.png</string>
<string name="png_file_name3">ic_launcher3.png</string>
</resources>
|
|
|