0
onResumeメソッドのMainActivityクラスでは、writeFileメソッドを開始します。androidのFileInputStreamのFileNotFoundEception
public class CacheFile {
private static final String TAG = "CacheFile";
private static final String mFileName="cachefile.txt";
private static File file;
//Write data into the file
public static void writeFile(Context context, String data) {
FileOutputStream outputStream=null;
String oldData=readFile(context)+"&"+data;
try {
file = new File(context.getCacheDir(), mFileName);
outputStream = new FileOutputStream(file);
if(data!=null) {
outputStream.write(oldData.getBytes());
}
} catch (IOException e) {
e.printStackTrace();
}finally {
if(outputStream!=null){
try{
outputStream.close();
}catch (Exception e){
e.printStackTrace();
}
}
}
}
//Read from file
public static String readFile(Context context) {
BufferedReader inputStream = null;
FileInputStream fis = null;
StringBuffer buffer = new StringBuffer();
String line;
try {
file = new File(context.getCacheDir(), mFileName);
fis=new FileInputStream(file);
inputStream = new BufferedReader(new InputStreamReader(fis));
while ((line = inputStream.readLine()) != null) {
buffer.append(line);
}
} catch (IOException e) {
e.printStackTrace();
}finally {
if(inputStream!=null){
try{
inputStream.close();
}catch (Exception e){
e.printStackTrace();
}
}
if(fis!=null){
try{
fis.close();
}catch (Exception e){
e.printStackTrace();
}
}
}
return buffer.toString();
}
public static void deleteFile(Context context){
if(file!=null){
file.delete();
}
}
}
最初のI readFileのと書き込むための情報を追加しますが、私は、ファイルを読み込むしようとしたとき、私はラインでにFileNotFoundExceptionを得る:
fis=new FileInputStream(file) (readfile method).
なぜ?メソッドを含むクラス
はい、ありがとうございます。 writeFileメソッドにcreateNewFileメソッドを追加する必要がありますか?またはreadFileで追加するだけで十分です。 – Delphian
'writeFile()'では、最初に呼び出されるメソッドが 'readFile()'であるため、不要です。 –
ありがとうございました! – Delphian