【问题标题】:Android jni how to access file that relative to my cpp file?Android jni如何访问与我的cpp文件相关的文件?
【发布时间】:2015-04-05 13:13:41
【问题描述】:

我有一个jni项目,jni中的文件结构是这样的:

jni
 |--Android.mk
 |--Application.mk
 |--com_example_jnifile_Filer.h
 |--jnifile.cpp
 |--res.txt

jnifile.cpp 中的代码如下:

#include "com_example_jnifile_Filer.h"
#include <fstream>
#include <string>
using namespace std;

jstring Java_com_example_jnifile_Filer_n_1get_1string(JNIEnv* env, jclass obj) {
    ifstream in("res.txt");
    if (!in) {
        return env->NewStringUTF("can't open file res.txt!");
    }
    string s;
    getline(in, s);
    return env->NewStringUTF(s.c_str());
}

而res.txt中的内容是:

hello world!

那么,问题来了,如何通过c++代码访问文件res.txt呢? 感谢您的回答!

【问题讨论】:

    标签: android c++ file-io java-native-interface readfile


    【解决方案1】:

    尝试使用下面的方法来读取您的文件:

    ifstream in;
    in.open ("names.txt");
    if(!(in.is_open())){
       return env->NewStringUTF("can't open file res.txt!");
    }
    string s;
    getline(in, s);
    return env->NewStringUTF(s.c_str());
    

    【讨论】:

      猜你喜欢
      • 2017-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-26
      • 2021-09-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多