2017-12-18 14 views
0

私は最初のライブラリを作成しようとしています。そのために、ファイルライブラリから簡単な書き込み/読み込みを行っています。タイプを知らないファイルからの読み込み

今、私は方法、保存のためのコードを持っている場合:「書き込み」の部分については

@NonNull 
public TexterRequest write(List<Object> data) { 
    return write(data.toString()); 
} 

@NonNull 
public TexterRequest write(String data) { 
    return new TexterRequest(context, data); 
} 

を、私は別のparamsを受け入れ異なる方法があります。リストを書きたい場合は、このリストをStringに変換し、最後に "write"メソッドを呼び出してその文字列をファイルに保存します。

「読み取り」の方法はどうですか?どのようにファイルを読んで、ユーザーの選択に基づいて返すことができますか。このような何か:これが可能である

String readString = read("myFile") // the method should return a string 
List<Object> readList = read("myFile") // the method should return a list 

public Object read(String file) { 
    File path = context.getFileStreamPath("file" + ".txt"); 
    if (!path.exists()) return null; 
    else return readedFile; 
} 

は、その後、私は、このようなファイルを読み込む必要がありますか?これにはどのような最善の方法がありますか?

答えて

1

あなたのユースケースの最適なアプローチは、単に以下のような2つの方法を持つことです。 APIはわかりやすく分かりやすいでしょう。

final String string = readString("myFile") // return type is String 
final List<Object> list = readList("myFile") // return type is List<Object> or List<T> 

@NonNull 
public String readString(@NonNull String fileName) { 
    // Implementation 
    return string; 
} 

@NonNull 
public List<Object> readList(@NonNull String fileName) { 
    final String string = readString(fileName); 
    // Parsing logic to convert to a List 
    return list; 
} 
+0

ああ私は本当に単一の「読み込み」メソッドを持つことで簡単にすることを望んでいました。しかし、私はこれが今は可能だとは思わない。私はあなたの答えを受け入れるでしょう。ありがとうございました! – Ravers

関連する問題