android 创建 file 文件,文本 并写入内容
生活随笔
收集整理的這篇文章主要介紹了
android 创建 file 文件,文本 并写入内容
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
創建file 文件在android 6.0 之后需要用戶手動開啟權限下面介紹下使用
這里只是寫入內容所以就在配置文件中添加寫入的權限,
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
如果需要,讀取,刪除權限,需要另外添加
?看下具體的代碼
//sdk 大于6.0的判斷if (Build.VERSION.SDK_INT >= 23) {int REQUEST_CODE_CONTACT = 101;String[] permissions = {Manifest.permission.WRITE_EXTERNAL_STORAGE};//驗證是否許可權限for (String str : permissions) {if (MainActivity.this.checkSelfPermission(str) != PackageManager.PERMISSION_GRANTED) {//申請權限MainActivity.this.requestPermissions(permissions, REQUEST_CODE_CONTACT);return;} else {String path = Environment.getExternalStorageDirectory() + "/MyTest";Log.e("------path", path);File files = new File(path);if (!files.exists()) {files.mkdirs();}try {FileWriter fw = new FileWriter(path + File.separator + "log.txt");fw.write("學而時習之,溫故而知新");fw.close();Toast.makeText(MainActivity.this, "文件寫入成功", Toast.LENGTH_SHORT).show();} catch (Exception e) {e.printStackTrace();}}}}
很多人寫入內容的時候使用的FileOutputStream 這個看自己的習慣,由于FileOutputStream 要傳入的內容是byte 類型
還需要在轉換一次,使用FileWriter 是可以直接使用String 所以,這里使用了FileWriter 類型
看下具體在手機里面的那個目錄里面
看下打印的路徑?E/------path: /storage/emulated/0/MyTest? ?,剛開始自己搜索emulated 到這個文件夾里面找,但是沒有發現內容
最后又檢查代碼感覺沒有問題呢,最后自己把文件改成時間最近的在上面看到了創建的文件了?
看下寫入的內容
這樣就完成了,但是如果有寫特殊的地方,開發需要把日志使用寫入的文件并記錄時間
這樣可以使用把上面的改成一個靜態類,看自己習慣放到那個工具類里面就行,看下面代碼
public class FileLog{/*** 保存日志到本地存儲根目錄下* @param message 保存的信息* @param fileName 保存的文件名稱* @param messageTitle 保存的信息標題*/public static void saveLog(String messageTitle,String message, String fileName) {String path = Environment.getExternalStorageDirectory() + "/MyLog";File files = new File(path);Date date = new Date();SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-M-dd HH:mm:ss,EE", Locale.CHINA);String formatDate = dateFormat.format(date);if (!files.exists()) {files.mkdirs();}if (files.exists()) {try {FileWriter fw = new FileWriter(path + File.separator+ fileName + ".txt");fw.write(formatDate + " " + messageTitle + "\n");fw.write(message + "\n");fw.write("\n");fw.close();} catch (Exception e) {e.printStackTrace();}}}
}
使用如下
public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);findViewById(R.id.txt).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//sdk 大于6.0的判斷if (Build.VERSION.SDK_INT >= 23) {int REQUEST_CODE_CONTACT = 101;String[] permissions = {Manifest.permission.WRITE_EXTERNAL_STORAGE};//驗證是否許可權限for (String str : permissions) {if (MainActivity.this.checkSelfPermission(str) != PackageManager.PERMISSION_GRANTED) {//申請權限MainActivity.this.requestPermissions(permissions, REQUEST_CODE_CONTACT);return;} else {FileLog.saveLog("------查看saveLog是否生效", "具體要查看的內容,這個可以看成Log里面要查看日志的內容", "MainActivityLog");}}}}});}
}
?
查看生成的文件
生成的txt 名字自己取的
查看生成的內容
?
源碼地址查看,去吧皮卡丘
總結
以上是生活随笔為你收集整理的android 创建 file 文件,文本 并写入内容的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 有酒有故事下一句是什么呢?
- 下一篇: git 创建分支并合并到master 上