0
В моем классе MainActivity в методе onResume я начинаю метод writeFile. Класс, который содержит метод:FileNotFoundEception в FileInputStream в android
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();
}
}
}
первый я ReadFile и добавить информацию для записи, но когда я пытаюсь прочитать файл я получаю FileNotFoundException в строке:
fis=new FileInputStream(file) (readfile method).
Почему?
Да, спасибо, он работает. Должен ли я добавлять метод createNewFile для метода writeFile? или достаточно добавить в readFile metthod. – Delphian
Не нужно, потому что в 'writeFile()' первый метод, который вызывается, называется 'readFile()'. –
Спасибо за ваш ответ! – Delphian