0
votes

"java.io.filenotfoundException (aucun fichier ou répertoire de ce type)"

J'ai une classe dans mon projet pour télécharger une image et enregistrer dans ma base de données et si réussie, enregistrez-la localement. Cela fonctionne et je suis capable de sauvegarder l'image dans un dossier personnalisé que j'ai créé sur mon téléphone Android.

Cependant, dans une autre classe, j'essaie de télécharger une image codée sous forme de texte et de l'enregistrer localement à l'aide de la méthode J'ai utilisé ci-dessus mais cela ne fonctionne plus. Il semble que je ne peux pas créer le dossier.

Je ne comprends pas comment cela fonctionnait sur mon autre classe et non dans ce

J'ai essayé de vérifier mon fichier manifeste et de voir si je inclus les autorisations nécessaires et si elles sont dans les bons endroits xxx

[modifier] ok, j'ai essayé de supprimer le blanchiment dans mon fichier de fichier à vérifier si le blancheur était vraiment ce qui cause Le problème et il n'a toujours pas fonctionné xxx

aussi, comment se fait-il que cela fonctionne sur mon autre classe avec le blancheur et non sur celui-ci? : ( xxx

patient_id et résultat_date ne sont que des chaînes. Encoded_image est un lontexal

Je dois être capable de convertir le texte codé que j'ai téléchargé sur bitmap et Enregistrez-le dans le dossier personnalisé 'Système TB' Je m'attends à trouver à l'intérieur de DCIM. Un autre dossier doit être créé à l'intérieur du système TB (PAT1, PAT2, PAT3, ...) et les images seront sauvegardées à l'intérieur.


0 commentaires

3 Réponses :


0
votes

Je vois le chemin que vous utilisez contient un espace entre "TB" et "System", cela pourrait causer des problèmes. Votre autre classe contient-elle également des filechas avec des espaces? Si ce n'est pas le cas, cela pourrait être le problème.

Consultez ceci Autre question qui aide lorsqu'il s'agit d'espaces dans FilePaths. La réponse n'a jamais été approuvée, alors je ne suis pas sûr que si vous avez effectivement résolu la question, mais ils mentionnent cet extrait de code: xxx blockQuote>

Uri.Parse corrige tous les problèmes de caractères blanchisseurs / backslash / illégaux dans les chemins et produit une "bonne" Uri.


4 commentaires

Oui, mon autre classe contient également des chemins de fichiers avec des espaces à. Cela fonctionne cependant.


Eh bien, vous ne pouvez pas simplement retirer l'espace comme celui-ci - si le dossier est appelé TB System, HTen est normal pour votre code pour donner une exception FilenotFound si vous essayez d'accéder à TBSYSTEM. Parce que vous mentionnez que l'autre classe fonctionne, post peut-être cette classe et la sortie du code pour cette classe également afin que nous puissions comparer les deux classes?


J'essaie réellement de faire le répertoire s'il n'existe pas déjà. La classe qui fonctionne essentiellement utilise la méthode exacte. Initialement, le répertoire n'existe pas et lorsque l'utilisateur télécharge une image, l'application crée ensuite un répertoire local de mon téléphone Android.


@Dorothyanne J'ai mis à jour la solution, laissez-moi savoir si cela fonctionne pour vous.



0
votes

Vérifiez-vous l'autorisation de lecture et d'écriture.

read_external_storage et wreck_external_storage doit être enregistré programmatiquement p>

Utiliser ceci P>

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    switch (requestCode){
        case MY_PERMISSION_REQUEST_CODE:
            if(grantResults.length > 0 && grantResults[0] == 
             PackageManager.PERMISSION_GRANTED)
                //Do your work
            break;
    }
}


2 commentaires

Puis-je faire cela aussi à l'intérieur de la demande de volley?


Ce sera votre projet avoir une page splash. Cette méthode appelle à la page Splash. Seul appel au premier jeu.



0
votes

Il y a un problème dans votre code, j'ai testé les combinaisons avec un espace dans un dossier et un nom de fichier exact. L'extrait de code de travail basé sur votre problème est comme ci-dessous,

Image téléchargée avec succès Snapshot P>

 Entrez la description de l'image ici P>

vue de la mise en page de code p >

 Entrez la description de l'image ici p>

build.Gradle p> xxx pré>

strings.xml p>

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.zackdawood.albummanager">

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


    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        android:networkSecurityConfig="@xml/network_security_config">
        <provider
            android:name=".GenericFileProvider"
            android:authorities="${applicationId}.fileprovider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/external_files"/>
        </provider>
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>


0 commentaires