#openFileOutput
Explore tagged Tumblr posts
jacob-cs · 6 years ago
Text
android 고급 21강 file2 tacademy
original source: https://youtu.be/vFfbb1bfvhA
Tumblr media
openFileInput()은 context의 method이다. 내장 메모리내의 package의 공간에 접근하는 경우외에는 android에서 제공되는 File class나 file path를 FileInputStrem()에 construct arg로 전달해서 FileInputStrem obj를 만든다.
openFileInput -> InputStreamReader -> BufferedReader -> StringBuilder를 이용해서 읽어낸다.
===========================================================
Tumblr media
MODE_PRIVATE이 내장메모리에 쓸때 기본으로적용되는 mode이다. 
MODE_APPEND, MODE_WORLD_WRITEABLE등이 있다.
참조) android docs   https://developer.android.com/reference/android/content/Context#MODE_PRIVATE
openFileOutput -> BufferedWriter 를 이용해 파일을 쓴다.
===========================================================
Tumblr media
===========================================================
Tumblr media
===========================================================
Tumblr media
===========================================================
Tumblr media
===========================================================
Tumblr media
모니터하는 path는 미리 존재하고 있어야 하므로 보통 실제 존재하는지 확인하고 observing 작업을 한다. recursive하게 observing하지는 않는다.
===========================================================
Tumblr media
===========================================================
Tumblr media
===========================================================
Tumblr media Tumblr media
===========================================================
0 notes
night-finance-site-blog · 8 years ago
Text
データ格納へのディレクトリパスを取得する
データ格納へのディレクトリパスを取得する File getDataDirectory() File getDownloadCacheDirectory() File getExternalStrageDirectory() String getExternalStorageState() File getRootDirectory() File getExternalStoragePublicDirectory(String type) プリファレンス プリファレンスを取得する プリファレンスからデータを読み込む boolean contains(String key) Map<String, ?> getAll() boolean getBoolean(String key, boolean defValue) float getFloat(String key, float defValue) int getInt(String key, int defValue) long getLong(String key, int defValue) String defString(String key, String defValue) Set<String(String key, String defValue) Set<String> getStringSet(String key, Set<String> defValues) プリファレンスにデータを書き込む SharePreferences.EditorputBoolean(String key,boolean value) SharedPreferences.Editor putFloat(String key, float value) SharePreferences.EditorputInt(String key, long value) SharePreferences.EditorputLong(Stirng key, long value) SharedPreference.EditorputString(Stirng key, String value) SharePreferences.Editorremove(String key) SharedPreferences.Editorclear() boolean commit() assets AssetsManagerを取得する AssetManager getAssets() assets上のファイルを取得する InputStream open(String fileName) InputStream open(String fileName, int accessMode) ACCESS_UNKNOWN ACCESS_RANDOM ACCESS_STREAMING ACCESS_BUFFER assetsディレクトリ内のファイル一覧を取得する String[] list(String path) throws IOEXception ファイル ファイルの情報を読み込む FileInputStream openFileInput(String name) FileInputStream(File file) FileInputStream(FileDescriptor fd) FileInputStream(String path) InputStream(StringStream in) BufferREader(InputStream in) BufferReader(InputStream in) String readLine() void close() BufferedInputStream(InputStream in) int read(byte[] buffer, int offset, int byteCount) ファイルの情報を書き込む FileOutputStream openFileOutput(String name, int mode) FileOutStream(File file) File FileOutputStream(File file, boolean append) FileOutputStream(FileDescriptor fd) FileOutputStream(String path) fileOutputStream(String path,boolean append) OutputStreamWriter(OutputStream out) OutputStreamWriter(OutputStreamout, Charset cs) BufferedWriter(Writer out) void write(String str) void flush() void close() BuferedOutputStream(OutputStream out) void write(byte[] buffer) void flush() void close() MODE_PRIVATE MODE_APPEND MODE_WORLD_READABLE MODE_WORLD_WRITEABLE android.permission.WRITE_EXTERNAL_STROGE
0 notes
night-finance-site-blog · 8 years ago
Text
データファイル保存
データファイル保存 activity_main.xml <?xml verson="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/btnSave" android:layout_width="match_parent" android;layout_height="wrap_content" android:onClick="btnSave_onClick" andorid:text="text" /> <EditText android:id="@+id/txtMemo" android:layout_width="match_parent" android:layout_height="wrap_content" andorid:layout_below="@id/btnSave" andorid:inputType="textMultiLine" andorid:lines="10" /> </RelativeLayout>
MainActivity.java package to.msn.wings.filebasic; import android.content.Context; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import andorid.view.View; import andorid.widget.EditText; import java.io.BufferedWriter; import java.io.IOException; import java.io.OutputStreamWriter; public class MainActivity extends AppCompatActivity { Edit txtName; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // txtMemo = (EditText) findViewById(R.id.txtMemo); } // public void btnSace_onClick(View view) { // BufferedWriter writer = null; try { writer = new BufferedWriter( new OutputStreamWriter( openFileOutput("memo.dat", Context.MODE_PRIVATE))); // writer.write(txtMemo.getText().toString()); } catch (IOException e) { e.printStackTrace(); } finaly { try { if (writer != null) { writer.close(); } } catch (IOException e) { e.printStackTrace(); } } } }
openFileOutputメソッド public abstract FileOutputStream openFileOutput(String name, int mode)
BufferedWriter = new BufferedWriter( new OutputStreamWriter(FileOutputStream));
0 notes
night-finance-site-blog · 8 years ago
Text
エラー発生時
public class MainActivity extends Activity { private Thread.UncaughtExceptionHandler defaultHandler = null; // private static final String ERR_FILE_NAME = "errFile.txt"; FileOutputStream out = null; FileInputStream in = null; BufferedReader reader = null; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // findViewById(R.id.button1).setOnClickListener(new OnClickListener(){ public void onClick(View view) { throw new RuntimeException(); } }); // defaultHandler = Tread.getDefaultUncaughtExceptionHandler(); // Thread.setDefaultUncaughtExceptionhandler(new UncaughtExceptionHandler(){ @Overirde public void uncaughtException(Thread thread, Throwable ex) { // try { out = openFileOutput(ERR_FILE_NAME, Context.MODE_PRIVATE); out.write(ex.getClass().getName().getBytes()); out.close(); } catch (Exception e) { if(out!=null)try(out.close();)catch(Exception ignore){} } // // defaultHander.uncaughtException(thread, ex); } }); // File errFile = getFileStreampath(ERR_FILE_NAME); // // if(errFile.exists()){ StringBuilder strBuff = new StringBuilder("\n"); try { in = new BufferedReader(new InputStreamREader(in); String line = null; while((line = reader.readLine()) != null){ strBuff.append(line).append("\n"); } reader.close(); newAlertDialog.Builder(MainActivity.this) .setMessage(strBuff.toString()) .setPositiveButton("ok", null) .show(); // deleteFile(ERR_FILE_NAME); }catch(IOException e) { e.printStackTrace(); } } } }
0 notes
night-finance-site-blog · 8 years ago
Text
ファイルデータ保存 try { write = new BufferedWriteer( new OutputStreamWriter( openFileOutput("memo.dat", Context.MODE_PRIVATE))); writer.write(txtMemo.getText().toString()); } catch (IDException e) { e.printStackTrace(); } finaly { try { if (writer != null) { writer.close(); } } catch (IDException e) { e.printStackTrace(); } } openFileOutputメソッド public abstract FileOutputStream openFileOutput(String name, int mode) StringBuilder str = new StringBuilder(); // try { reader = new BufferedReader( new InputStreamReader( openFileInput("memo.daat"))); // String line; while ((line = reader.readLine()) != null) { str.append(line); str.append(System.getProperty("line.separator")); } } catch (IDException e ) { e.printStackTrace(); } finally { try { if (reader != null) { reader.colse(); } } catch (IDException e) { e.printStackTrace(); } } openFileInputメソッド public acstract fileInputStream openFileInput(String name)
0 notes
night-finance-site-blog · 8 years ago
Text
ファイル出力のストリームオープン
OutputStream openFileOutput(String fileName, int mode)
0 notes