2012-09-14 105 views
1

我確定有一個簡單的答案,但我是新的,似乎無法弄清楚這一點。Android從用戶輸入創建文件名路徑

我需要將數據保存到文本文件。我有所有的代碼,但路徑和文件名是現在硬編碼的。我有一個EditText字段,用戶輸入文件名,然後點擊一個按鈕。我希望它根據用戶輸入的內容創建路徑和文件名。

基本的預先確定的路徑「/sdcard/"+Whateveruserentered.txt

+0

只需獲取設置的EditText中輸入的值,將其轉換爲字符串並使用'+'運算符將其添加到文件路徑名。 'EditText filename = new EditText(this); filename.getText()。toString();' –

回答

1

好吧,這裏是一個簡單的答案,

假設你已進入 「中的EditText mypath中/ myfile.txt的」,

首先,您需要創建「myPath」文件夾(我假設您在路徑中也提供了文件夾名稱)。

String fullPath = myEditText.getText().toString().trim(); 
String folderPath = fullPath.substring (0, fullPath.indexOf ("/")); 
String fileName = fullPath.substring (fullPath.indexOf ("/") + 1); 

// First Create folder by coding, 

File folder = new File(Environment.getExternalStorageDirectory().toString() + folderPath); 
if (!folder.exists()) 
{ 
     folder.mkdirs(); 
} 

// Note: your path must not have recursive folders like myPath1/myPath2/myFile.txt, otherwise you need to create folder in 2 steps. 

// Now creating file 
File file = new File(Environment.getExternalStorageDirectory().toString() + folderPath + fileName); 

if (!file.exists()) 
{ 
    success = file.createFile(); 
} 

// Now your file is created, you can do writing code now onwards. 
+1

太棒了!我已經定義了路徑,但是有效的是使用第一行並將其更改爲我的需要:String filename = edittextfield.getText()。toString()。trim();非常感謝! – Oddball

+0

歡迎你親愛的,高興地幫助你:) – Lucifer