2012-09-14 110 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