안드로이드 개발 질문/답변
(글 수 45,052)
public class File_List extends Activity implements FilenameFilter{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
setContentView(tv);
File dir = new File("data/data/com.File_List/");
// 디렉토리 내에서 확장자가 txt인 파일 필터링
File[] files = dir.listFiles( );
// 결과 출력
if(files != null)
{
String [] m = new String[files.length];
String ListinDir;
int i;
for(i = 0 ; i < files.length ; i++)
{
ListinDir = files[i].getName();
m[i] = ListinDir;
tv.append(ListinDir+"\n");
}
/* for(i=0; i<files.length; i++){
tv.append(m[i]+"\n");
}*/
}
}
public boolean accept(File dir, String filename) {
// TODO Auto-generated method stub
String filter = this.filter
.replaceAll("\\.", "\\\\.")
.replaceAll("\\$", "\\\\$")
.replaceAll("\\+", "\\\\+")
.replaceAll("\\(", "\\\\(")
.replaceAll("\\)", "\\\\)")
.replaceAll("\\{", "\\\\{")
.replaceAll("\\}", "\\\\}")
.replaceAll("\\[", "\\\\[")
.replaceAll("\\]", "\\\\]")
.replaceAll("\\^", "\\\\^")
.replaceAll("\\*", ".*")
.replaceAll("\\?", ".");
return Pattern.matches(filter, filename);
}
--------------------------------------------------------------------------------------------------------------------------
File[] files = dir.listFiles( ); =>괄호안에 인수를 어떻게 넣어줘야하나요??
자바에서 처럼
public File_List(String filter)
{
this.filter = filter;
}
이렇게 추가해 주고
File[] files = dir.listFiles(new JavaTest("*.txt"))
이런식으로 해주니까 에뮬레이터에서 에러가 납니다~
조언 부탁드립니다~^^
2009.04.03 10:54:36
아..실수 입니다..ㅎㅎ JavaTest가 아니고 File_List인데..ㅎ
에뮬레이터 화면에 The application file_List(process com.File_List)has stopped unexpectedly. Please try again 이라고 뜨구요..
Log 메세지는 newInstance failed: no <init>() 라고 뜹니다.
근데 물어보시는게 이게 맞나요??