ファイル一覧取得
import android.content.Context;
import android.util.Log;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class clsFolderList {
//iResourceId:フォルダの場所
public int printFolderList(Context context, int iResourceId)
{
String sPath = "";
String sFolder = "";
clsCommon cls = new clsCommon();
List<String> listDirectory = new ArrayList<String>();
sPath = cls.getAbsolutePath(context);
sFolder = cls.getStringXmlData(context,iResourceId);
Log.d("sPath", sPath);
Log.d("sFolder", sFolder);
sPath += "/" + sFolder + "/";
Log.d("full path sPath", sPath);
File file = new File(sPath);
if(file.exists() == false)
{
Log.d("clsFolderList","path is not exists");
return -1;
}
File[] files = null;
try
{
files = file.listFiles();
Log.d("files.length",String.valueOf(files.length));
for(int i=0; i < files.length; i++)
{
//取得したフォルダおよびファイル名
Log.d("i:" + String.valueOf(i),files[i].toString());
if(files[i].isDirectory()==true)
{
Log.d("種類","フォルダ");
}
else
{
Log.d("種類","ファイル");
}
}
}
catch (Exception e)
{
Log.d("error",e.getMessage().toString());
return 1;
}
finally
{
files = null;
}
return 0;
}
}
|
「listFiles」メソッドで候補の一覧を取得します。
ディレクトリの判定は「isDirectory」でtrueとなります。
(例)
リストからfor文で要素を判定しています。
files = file.listFiles();
Log.d("files.length",String.valueOf(files.length));
for(int i=0; i < files.length; i++)
{
//取得したフォルダおよびファイル名
Log.d("i:" + String.valueOf(i),files[i].toString());
if(files[i].isDirectory()==true)
{
Log.d("種類","フォルダ");
}
else
{
Log.d("種類","ファイル");
}
}
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);
//フォルダ作成
test1();
//フォルダ削除
test2();
//フォルダ名変更
test3();
//フォルダおよびファイル一覧表示
test4();
}
//フォルダ作成
private void test1()
{
int iResult = 0;
clsCreateFolder cls = new clsCreateFolder();
iResult = cls.folderCreate(this, R.string.con_folder1);
Log.d("iResult", String.valueOf(iResult));
}
//フォルダ削除
private void test2()
{
int iResult = 0;
clsRemoveFolder cls = new clsRemoveFolder();
iResult = cls.removeFolder(this, R.string.con_folder1);
Log.d("iResult", String.valueOf(iResult));
}
//フォルダリネーム
private void test3()
{
int iResult = 0;
clsForlderMove cls = new clsForlderMove();
iResult = cls.folderMove(this, R.string.con_folder2, R.string.con_folder1);
Log.d("iResult", String.valueOf(iResult));
}
//フォルダ一覧取得
private void test4()
{
int iResult = 0;
clsFolderList cls = new clsFolderList();
iResult = cls.printFolderList(this, R.string.con_folder1);
Log.d("iResult", String.valueOf(iResult));
}
}
|
<resources>
<string name="app_name">test24</string>
<string name="con_folder1">folder1</string>
<string name="con_folder2">folder2</string>
<string name="png_file_name">ic_launcher.png</string>
</resources>
|
import android.content.Context;
import android.os.Build;
import android.util.Log;
import java.io.File;
public class clsCommon {
//0:存在する
//1:存在しない
public int existsFolderOrFile(Context context,String sFileName) {
int iResult = 0;
//ファイルオブジェクトを生成
File file = null;
try
{
file = context.getFileStreamPath(sFileName);
//ファイル存在チェック
if (file.exists() != true) iResult = 1;
}
catch (Exception e)
{
Log.d("error",e.getMessage().toString() );
return 1;
}
finally
{
file=null;
}
return iResult;
}
//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;
//ex.)
//sPath: /data/data/test.example.com.test23/files/ic_launcher.png
return sPath;
}
public String getAbsolutePath(Context context)
{
return context.getFilesDir().getAbsolutePath();
}
public void getCurrentVersion()
{
//バージョンの数字を取得する方法
/*
double dVersion=0.0f;
dVersion= Build.VERSION_CODES.HONEYCOMB;
Log.d("HONEYCOMB Version", String.valueOf(dVersion));
dVersion= Build.VERSION_CODES.KITKAT;
Log.d("KITKAT Version", String.valueOf(dVersion));
dVersion= Build.VERSION_CODES.LOLLIPOP;
Log.d("LOLLIPOP Version", String.valueOf(dVersion));
*/
int iVersion=0;
iVersion= Build.VERSION.SDK_INT;
Log.d("Build.VERSION.SDK_INT", String.valueOf(iVersion));
}
}
|
|
|