Android 安卓:点击按钮检查是否存在并保存文件
我希望该应用程序可以实现以下功能 1.将文件名放入ediTtext 2.按下启动按钮, 如果文件存在,则写入该文件;如果不存在,则创建该文件 3.按下停止按钮, 进程将停止,editText的内容将返回到文件名 我已经完成了保存文件部分,但不知道如何检查是否存在:p,希望能得到一些代码供参考! 谢谢 以下是保存文件的代码:Android 安卓:点击按钮检查是否存在并保存文件,android,button,android-edittext,Android,Button,Android Edittext,我希望该应用程序可以实现以下功能 1.将文件名放入ediTtext 2.按下启动按钮, 如果文件存在,则写入该文件;如果不存在,则创建该文件 3.按下停止按钮, 进程将停止,editText的内容将返回到文件名 我已经完成了保存文件部分,但不知道如何检查是否存在:p,希望能得到一些代码供参考! 谢谢 以下是保存文件的代码: //////////////////////////////////// private String TAG = "MyActivity"; private
////////////////////////////////////
private String TAG = "MyActivity";
private WifiManager wifiManager;
List<ScanResult> list;
private Runnable runnable;
private Handler handler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_wifi_list);
handler=new Handler();
runnable=new Runnable() {
@Override
public void run() {
init();
handler.postDelayed(this, 3000);
}
};
handler.post(runnable);
}
private void init() {
wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
list = wifiManager.getScanResults();
ListView listView = (ListView) findViewById(R.id.listView);
String wifiInfo = "";
if (list == null) {
Toast.makeText(this, "wifi is closed!", Toast.LENGTH_LONG).show();
}else {
for (int i = 0; i<list.size();i++){
ScanResult scanResult = list.get(i);
String bssid = scanResult.BSSID;
String ssid = scanResult.SSID;
int strength = Math.abs(scanResult.level);
wifiInfo = wifiInfo + String.format("%25s,%20s,%5d\n", bssid,ssid,strength);
}
listView.setAdapter(new NewAdapter(this,list));
}
writeToFile(wifiInfo,"WifiList_Info.txt");
Toast toast = Toast.makeText(this, "new record", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
}
private void writeToFile(String data,String fileName){
File file = null;
OutputStream output = null;
byte buffer[] = null;
try{
File path = Environment.getExternalStorageDirectory();
file = new File(path,fileName);
if(!file.exists())
file.createNewFile();
output = new FileOutputStream(file, true);
buffer = data.getBytes();
output.write(buffer);
output.flush();
output.close();
}
catch(Exception e){ e.printStackTrace();
}
}
public void onClick_startEvent(View view) {
EditText editText = (EditText)findViewById(R.id.et1);
editText.setText("writing into the file", TextView.BufferType.NORMAL);
}
////////////////////////////////////
私有字符串TAG=“MyActivity”;
私人WifiManager WifiManager;
名单;
私人可运行;
私人经办人;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u wifi\u列表);
handler=新的handler();
runnable=新的runnable(){
@凌驾
公开募捐{
init();
handler.postDelayed(这个,3000);
}
};
handler.post(可运行);
}
私有void init(){
wifiManager=(wifiManager)getSystemService(Context.WIFI_服务);
list=wifiManager.getScanResults();
ListView ListView=(ListView)findViewById(R.id.ListView);
字符串wifiInfo=“”;
if(list==null){
Toast.makeText(此“wifi已关闭!”,Toast.LENGTH_LONG.show();
}否则{
对于(int i=0;i用于检查文件是否存在,请使用:
File tempFile = null;
tempFile = new File(filePath);
if(!tempFile.exists())
//do your work
我看到您已经在writeToFile方法中编写了检查文件存在性的代码…如果(!file.exists())file.createNewFile();…您是否面临此代码的任何问题?您的代码中有正确的答案:file=new file(路径,文件名);如果(file.exists())
@RajenRaiyarela现在我想写多个文件,我可以输入文件名,所以我添加了一个edittext部分,可以手动输入文件名,我还添加了一个按钮,当按下按钮时,它可以开始写文件,如果我想实现这个功能,我需要在哪里更改?谢谢:))
File myFile = new File(your_file_path);
if(myFile.exists())
{
// file exists
}
else
{
// file doesn't exists, so create a new file here.
}