Android import java.nio.file.Files; cannot be resolved
Asked Answered
D

3

47

I am trying out the new Gmail API and the samples use the classes in the java.nio.file package, e.i. Files and FileSystems.

These classes was introduced in Java jdk 1.7 for the record, and since I am running jdk 1.7.0_65 in my Android app I have no idea why Android Studio cannot find these classes.

The imports are:

import java.nio.file.FileSystems;
import java.nio.file.Files;

My build.gradle file of course tells the system to use v. 1.7 like this

android {
    compileSdkVersion 19
    buildToolsVersion '20'
    ...
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}

I am pointing to the right directory of the jdk:

enter image description here

The jdk is listed in the External Libraries section:

enter image description here

And if I browse through the Java files I can even find java.nio.file.Files and .FileSystems:

enter image description here

Now, what the **** is going on!? From my understanding I am doing everything right here, any suggestions?

Dowager answered 21/7, 2014 at 15:52 Comment(4)
Man! I am having the exact same issue! What was your work around for doing what we should have been able to do with Files? Any good third-party libraries? Thanks!Jollify
Thank you for your fine analysis! It's rare to see.Dorthea
ok, but it still issue... Who know which kind of library we should use instead of?Graphy
Try using methods like java.io.File.mkdirs(), etc.Sadirah
A
64

Android does not offer all classes that "conventional java" has to offer. Files is one of the classes, that Android doesn't offer.

You can have a look at the classes available in Android here: http://developer.android.com/reference/classes.html

So unfortunately you have to use other functions / classes to implement the same functionality.

PS: The class is shown in your screenshot because you browse the classes of java installed on your PC, not those that are be available on the Android phone / tablet.

Update

The Files/FileSystem classes have become available starting with API version 26.

Alisha answered 21/7, 2014 at 16:21 Comment(3)
I see, thank you very much. Not what I really wanted to hear, but that definitely clears up the enigma. thanksDowager
ok, but it still issue... Who know which kind of library we should use instead of?Graphy
java.nio.file.Files is now in the link you provided, added in API level 26.Sadirah
P
11

Apparently java.nio.file is coming with Android O. https://developer.android.com/reference/java/nio/file/package-summary.html

Paramagnetism answered 1/7, 2017 at 13:6 Comment(0)
P
1

Have a Look of this Link Android support some classes of NIO packages not full classes. But if you need to fast-up your code you can also use apache-commons api for the same.

Pameliapamelina answered 3/2, 2015 at 12:44 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.