Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
609 views
in Technique[技术] by (71.8m points)

android - getting file not found exception

I have my android activity :

try {  
            File root=Environment.getExternalStorageDirectory();  
            Log.i("root",root.toString());  
                            File dir=new File(root.getAbsolutePath() + "/downloads");  
            dir.mkdirs();  
            file=new File(dir,"mytext.txt");  
            FileOutputStream out=new FileOutputStream(file,true);  
            PrintWriter pw=new PrintWriter(out);  
            pw.println("Hello! Welcome");  
            pw.println("You are Here...!!!");  
            pw.flush();  
            pw.close();  
            try {  
                 out.close();  
            } catch (IOException e) {  
            // TODO Auto-generated catch block  
                e.printStackTrace();  
          }
        } catch (FileNotFoundException e) {  
             // TODO Auto-generated catch block  
             e.printStackTrace();
        }  

also added :

   <uses-permission android:name="androd.permission.WRITE_EXTERNAL_STORAGE"/>   

but it throws me FileNotfound exception : 01-13 09:06:44.442: WARN/System.err(419): java.io.FileNotFoundException: /mnt/sdcard/downloads/mytext.txt (No such file or directory)

and if i add

 if(file.exists()){  
   System.out.println("file exists");  
  }  
  else{  
     System.out.println("No such Fileeeeeeeeee");  
   }  

it moves into "else" part.

Thanks
Sneha

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Try this,,it works for me

// create a File object for the parent directory
File wallpaperDirectory = new File("/sdcard/Wallpaper/");
// have the object build the directory structure, if needed.
wallpaperDirectory.mkdirs();
// create a File object for the output file
File outputFile = new File(wallpaperDirectory, filename);
//now attach OutputStream to the file object, instead of a String representation

FileOutputStream fos = new FileOutputStream(outputFile);

GO through this for more details


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

1.4m articles

1.4m replys

5 comments

56.8k users

...