android 我想读取一个txt文件,怎么获取路径

android 我想读取一个txt文件,怎么获取路径,第1张

你的这个文件是不是存在手机的内存卡里面呢,如果是可以这样做

//首先获取到手机内存卡的根路径

String

rootPath

=

EnvironmentgetExternalStorageDirectory()getPath();

File

file

=

new

File(rootPath

+

"/atxt");

//假设文件就在内存卡的根目录下

得到file对象之后就跟Java一样处理了

数据库中的文件的话,要adb shell进去查看数据库有没有该字段。存储卡上的文件的话,java中没有获取文件创建事件的接口。

一、 从resource中的raw文件夹中获取文件并读取数据(资源文件只能读不能写)

String res = "";

try{

InputStream in = getResources()openRawResource(Rrawbbi);

//在\Test\res\raw\bbitxt,

int length = inavailable();

byte [] buffer = new byte[length];

inread(buffer);

//res = EncodingUtilsgetString(buffer, "UTF-8");

//res = EncodingUtilsgetString(buffer, "UNICODE");

res = EncodingUtilsgetString(buffer, "BIG5");

//依bbitxt的编码类型选择合适的编码,如果不调整会乱码

inclose();

}catch(Exception e){

eprintStackTrace();

}

myTextViewsetText(res);//把得到的内容显示在TextView上

二、 从asset中获取文件并读取数据(资源文件只能读不能写)

String fileName = "yantxt"; //文件名字

String res="";

try{

InputStream in = getResources()getAssets()open(fileName);

// \Test\assets\yantxt这里有这样的文件存在

int length = inavailable();

byte [] buffer = new byte[length];

inread(buffer);

res = EncodingUtilsgetString(buffer, "UTF-8");

}catch(Exception e){

eprintStackTrace();

}

三、 从sdcard中去读文件,首先要把文件通过\android-sdk-windows\tools\adbexe把本地计算机上的文件copy到sdcard上去,adbexe push e:/Ytxt /sdcard/, 不可以用adbexe push e:\Ytxt \sdcard\ 同样: 把仿真器上的文件copy到本地计算机上用: adb pull /data/data/comtt/files/Testtxt e:/

String fileName = "/sdcard/Ytxt";

//也可以用String fileName = "mnt/sdcard/Ytxt";

String res="";

try{

FileInputStream fin = new FileInputStream(fileName);

//FileInputStream fin = openFileInput(fileName);

//用这个就不行了,必须用FileInputStream

int length = finavailable();

byte [] buffer = new byte[length];

finread(buffer);

res = EncodingUtilsgetString(buffer, "UTF-8");

finclose();

}catch(Exception e){

eprintStackTrace();

}

myTextViewsetText(res);

先获取读取文件的权限,再遍历文件夹及子文件夹,直到结束就可以了。

private void getAllFiles(File root,ArrayList<File> results){

File files[] = rootlistFiles();

if(files != null){

for (File f : files){

if(fisDirectory()){

getAllFiles(f,results);

}

else{

String name = fgetName();

String extension

= namesubstring(namelastIndexOf(""));

if(extensionEqual("pdf")){

resultsadd(f);

}

}

}

}

}

读文件:

1、通过File获取文件

2、打开输入流,读取文件

写文件:

1、创建文件

2、打开输出流,写入文件内容

示例:

读文件:

String content = ""; //文件内容字符串

    //通过路径/sdcard/footxt打开文件

    File file = new File("/sdcard/footxt");

    try {

       InputStream instream = new FileInputStream(file);//读取输入流

       InputStreamReader inputreader = new InputStreamReader(instream);//设置流读取方式

       BufferedReader buffreader = new BufferedReader(inputreader);

       while (( line = buffreaderreadLine()) != null) {

        content += line + "\n";//读取的文件内容

      }

    }catch(Exception ex){

    }写文件:

        File file = new File("/sdcard/footxt");//

         if(!fileexists())

            filecreateNewFile();//如果文件不存在,创建footxt

        try {

            OutputStream outstream = new FileOutputStream(file);//设置输出流

            OutputStreamWriter out = new OutputStreamWriter(outstream);//设置内容输出方式

            outwrite("文字内容");//输出内容到文件中

            outclose();

            } catch (javaioIOException e) {

            eprintStackTrace();

        }

for (i=0;i<nLen;i++)

{

tempPtX[i]=1;

tempPtY[i]=inPtY[i];

}

for (i=0;i<2poly_n+1;i++)

for (sumXx[i]=0,j=0;j<nLen;j++)

{

sumXx[i]+=tempPtX[j];

tempPtX[j]=inPtX[j];

}

这个是由于android中的安全机制的缘故,由于android继承了Linux系统的传统,对于某个特定的目录有用户的权限,一共分为三种--可读,可写,可执行;虽然说可以设置某个特定的目录的权限,但是对于目录里面的子目录和子文件都可以进行权限的设置,也就是说出了根目录权限之外,子目录本身的权限也决定了子目录可否访问,这一点需要清楚了解,所以在判断完了是否是目录之外,还需要在进行listFiles()获取File[]数据后判断获取的数组是否为空,如果为空的话,文件夹是不可访问的。

以上就是关于android 我想读取一个txt文件,怎么获取路径全部的内容,包括:android 我想读取一个txt文件,怎么获取路径、在android中怎么获取文件的创建时间、android开发,想要获取手机内的所有pdf文件,该怎么做等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9300397.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存