Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Android Android Data Persistence File Storage Writing to Internal Storage

been getting syntax error for the past 2days.please help!

public static void saveAssetImage(Context context, String assetName) {
    File fileToWrite = new File(context.getFilesDir(), assetName);
    AssetManager assetManager = context.getAssets();
     if (fileToWrite.exists()==false) { copyResult = copyFile(in, out); }
FileUtilities.java
import java.io.InputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

public class FileUtilities {

  public static boolean copyResult;

  public static void saveAssetImage(Context context, String assetName) {
    File fileToWrite = new File(context.getFilesDir(), assetName);
    AssetManager assetManager = context.getAssets();
     if (fileToWrite.exists()==false) { copyResult = copyFile(in, out); }

    try {
      InputStream in = assetManager.open(assetName);
      FileOutputStream out = new FileOutputStream(fileToWrite);
      copyResult = copyFile(in, out);
    } catch(FileNotFoundException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }

  }

  private static boolean copyFile(InputStream in, FileOutputStream out) {
    // Copy magic intentionally omitted

    return true;
  }
}

1 Answer

Harry James
Harry James
14,780 Points

Hey Anesu!

In this challenge, you want to wrap the entirety of the method after the

File fileToWrite = new File(context.getFilesDir(), assetName);

line in the if block that you have written. We don't want to do anything relating to the File if we know it exists.

You've got your condition in the if statement correct though! You just need to place it in the right place ;)


Hope it helps and if you have any more problems, give me a shout :)

I figured it out days ago though, still thanks for the effort.

Harry James
Harry James
14,780 Points

Hey again Anesu!

Glad you got the problem sorted! If you can mark either my answer or your comment (Which you will have to move to an answer) as the Best Answer, it will let other users know that this question has been solved :)