Android 資料儲存之File
阿新 • • 發佈:2019-01-08
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); String filePath = "/sdcard/MyFiles/Test/"; String fileName = "log.txt"; writeTxtToFile("txt content", filePath, fileName); } // 將字串寫入到文字檔案中 public void writeTxtToFile(String strcontent, String filePath, String fileName) { //生成資料夾之後,再生成檔案,不然會出錯 makeFilePath(filePath, fileName); String strFilePath = filePath + fileName; // 每次寫入時,都換行寫 String strContent = strcontent + "\r\n"; try { File file = new File(strFilePath); if (!file.exists()) { Log.d("TestFile", "Create the file:" + strFilePath); file.getParentFile().mkdirs(); file.createNewFile(); } RandomAccessFile raf = new RandomAccessFile(file, "rwd"); raf.seek(file.length()); raf.write(strContent.getBytes()); raf.close(); } catch (Exception e) { Log.e("TestFile", "Error on write File:" + e); } } // 生成檔案 public File makeFilePath(String filePath, String fileName) { File file = null; makeRootDirectory(filePath); try { file = new File(filePath + fileName); if (!file.exists()) { file.createNewFile(); } } catch (Exception e) { e.printStackTrace(); } return file; } // 生成資料夾 public static void makeRootDirectory(String filePath) { File file = null; try { file = new File(filePath); if (!file.exists()) { file.mkdir(); } } catch (Exception e) { Log.i("error:", e + ""); } } }