Android中的文件jquery中读写json文件问题

Android编程之在SD卡上进行文件读写操作实例详解
作者:Sunnyfans
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了Android编程之在SD卡上进行文件读写操作的方法,结合实例形式较为详细的分析了Android的文件操作及针对SD卡的存取操作相关技巧,需要的朋友可以参考下
本文实例讲述了Android编程之在SD卡上进行文件读写操作的方法。分享给大家供大家参考,具体如下:
很多知识只有真正理解掌握之后才能运用自如,举一反三。对Java中的文件操作和android系统SD卡里面的文件操作,你觉得有区别吗,显然没有本质区别,如果勉强说有,那也是不足为道滴,但我们在实际运用中却要注意如下几点,不然问题会缠上你。
1、首先想要对android系统SD卡里文件操作需要添加使用权限:
android系统是不会让外来程序随意动自己内存的,如果没有许可证,不好意思,不准你动我地盘,在我地盘得听我的。在配置文件里AndroidManifest.xml里面添加SD卡读写数据权限。
代码如下:&uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/&
2、获取文件绝对路径:
这里有两种方法
方法1:直接使用/mnt/sdcard/+文件名
如: final String FILE_NAME = "/mnt/sdcard/0";
方法2:通过系统提供的方法获取SD的路径,然后在后面加上文件名称。这个方法有点啰嗦,暂没感受到它的妙处,不过在此还是罗列出来,供以后参考。见后面实例。
3、获取文件路径后的操作,跳不出对FileInputStream、FileOutputStream、FileReader、FileWriter四个类的使用。具体参看前面《》
下附将数据写入SD卡文件的简单运用代码:
方法1运用代码:
public class FileTestActivity extends Activity
final String FILE_NAME = "/mnt/sdcard/007.test";
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn = (Button) findViewById(R.id.button1);
final byte[] buf = { 0 };
btn.setOnClickListener(new OnClickListener()
public void onClick(View arg0)
FileOutputStream fout = new FileOutputStream(FILE_NAME,
BufferedOutputStream bout = new BufferedOutputStream(fout);
bout.write(buf);
bout.flush();
bout.close();
} catch (FileNotFoundException e)
e.printStackTrace();
} catch (IOException e)
e.printStackTrace();
方法2运用实例代码
public class FileTestActivity extends Activity
final String FILE_NAME = "/007.test";
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn = (Button) findViewById(R.id.button1);
final byte[] buf = { 0 };
btn.setOnClickListener(new OnClickListener()
public void onClick(View arg0)
if (Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED))
File sdDir = Environment.getExternalStorageDirectory();
System.out.println(sdDir);
FileOutputS
System.out.println(sdDir.getCanonicalPath() + FILE_NAME);
fout = new FileOutputStream(sdDir.getCanonicalPath()
+ FILE_NAME, true);
BufferedOutputStream bout = new BufferedOutputStream(
bout.write(buf);
bout.flush();
bout.close();
} catch (FileNotFoundException e)
e.printStackTrace();
} catch (IOException e)
e.printStackTrace();
希望本文所述对大家Android程序设计有所帮助。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具&&& 这几天在项目开发中,要读取文本文件中内容的,因此写了个读取文本文件中内容的方法,代码如下:
//读取文本文件中的内容
&& &public static String ReadTxtFile(String strFilePath)
&& &&& &String path = strFileP
&& &&& &String content = &&; //文件内容字符串
&& &&& &&& &//打开文件
&& &&& &&& &File file = new File(path);
&& &&& &&& &//如果path是传递过来的参数,可以做一个非目录的判断
&& &&& &&& &if (file.isDirectory())
&& &&& &&& &{
&& &&& &&& &&& &Log.d(&TestFile&, &The File doesn't not exist.&);
&& &&& &&& &}
&& &&& &&& &else
&& &&& &&& &{
&& &&& &&& &&& &try {
&& &&& &&& &&& &&& &InputStream instream = new FileInputStream(file);
&& &&& &&& &&& &&& &if (instream != null)
&& &&& &&& &&& &&& &{
&& &&& &&& &&& &&& &&& &InputStreamReader inputreader = new InputStreamReader(instream);
&& &&& &&& &&& &&& &&& &BufferedReader buffreader = new BufferedReader(inputreader);
&& &&& &&& &&& &&& &&& &S
&& &&& &&& &&& &&& &&& &//分行读取
&& &&& &&& &&& &&& &&& &while (( line = buffreader.readLine()) != null) {
&& &&& &&& &&& &&& &&& &&& &content += line + &\n&;
&& &&& &&& &&& &&& &&& &}&& &&& &&& &&& &
&& &&& &&& &&& &&& &&& &instream.close();
&& &&& &&& &&& &&& &}
&& &&& &&& &&& &}
&& &&& &&& &&& &catch (java.io.FileNotFoundException e)
&& &&& &&& &&& &{
&& &&& &&& &&& &&& &Log.d(&TestFile&, &The File doesn't not exist.&);
&& &&& &&& &&& &}
&& &&& &&& &&& &catch (IOException e)
&& &&& &&& &&& &{
&& &&& &&& &&& &&& &&Log.d(&TestFile&, e.getMessage());
&& &&& &&& &&& &}
&& &&& &&& &}
&& &&& &&& &
阅读(...) 评论()Android的SD卡文件读写
使用右上角的两个按钮可以将文件从模拟器中导出和导入
程序运行的结果
运行之后,文件中的delete被删除了。
FileHelper.java是文件的帮助类,完成文件创建、删除、读。
package com.zeph.android.&
import java.io.F&
import java.io.FileInputS&
import java.io.FileNotFoundE&
import java.io.IOE&
import android.content.C&
import android.os.E&
public class FileHelper {&
&&& private C&
&&& /** SD卡是否存在**/&
&&& private boolean hasSD =&
&&& /** SD卡的路径**/&
&&& private String SDPATH;&
&&& /** 当前程序包的路径**/&
&&& private String FILESPATH;&
&&& public FileHelper(Context context) {&
&&&&&&& this.context =&
&&&&&&& hasSD = Environment.getExternalStorageState().equals(&
&&&&&&&&&&&&&&& android.os.Environment.MEDIA_MOUNTED);&
&&&&&&& SDPATH = Environment.getExternalStorageDirectory().getPath();&
&&&&&&& FILESPATH = this.context.getFilesDir().getPath();&
&&&& * 在SD卡上创建文件
&&&& * @throws IOException
&&& public File createSDFile(String fileName) throws IOException {&
&&&&&&& File file = new File(SDPATH + &//& + fileName);&
&&&&&&& if (!file.exists()) {&
&&&&&&&&&&& file.createNewFile();&
&&&&&&& }&
&&&& * 删除SD卡上的文件
&&&& * @param fileName
&&& public boolean deleteSDFile(String fileName) {&
&&&&&&& File file = new File(SDPATH + &//& + fileName);&
&&&&&&& if (file == null || !file.exists() || file.isDirectory())&
&&&&&&&&&&&&
&&&&&&& return file.delete();&
&&&& * 读取SD卡中文本文件
&&&& * @param fileName
&&&& * @return
&&& public String readSDFile(String fileName) {&
&&&&&&& StringBuffer sb = new StringBuffer();&
&&&&&&& File file = new File(SDPATH + &//& + fileName);&
&&&&&&& try {&
&& &&&&&&&&&FileInputStream fis = new FileInputStream(file);&
&&&&&&&&&&&&
&&&&&&&&&&& while ((c = fis.read()) != -1) {&
&&&&&&&&&&&&&&& sb.append((char) c);&
&&&&&&&&&&& }&
&&&&&&&&&&& fis.close();&
&&&&&&& } catch (FileNotFoundException e) {&
&&&&&&&&&&& e.printStackTrace();&
&&&&&&& } catch (IOException e) {&
&&&&&&&&&&& e.printStackTrace();&
&&&&&&& }&
&&&&&&& return sb.toString();&
&&& public String getFILESPATH() {&
&&&&&&& return FILESPATH;&
&&& public String getSDPATH() {&
&&&&&&& return SDPATH;&
&&& public boolean hasSD() {&
&&&&&&& return hasSD;&
Activity类
package com.zeph.android.&
import java.io.IOE&
import android.app.A&
import android.os.B&
import android.widget.TextV&
public class FileOperateActivity extends Activity {&
&&& private TextView hasSDTextV&
&&& private TextView SDPathTextV&
&&& private TextView FILESpathTextV&
&&& private TextView createFileTextV&
&&& private TextView readFileTextV&
&&& private TextView deleteFileTextV&
&&& private FileH&
&&& @Override&
&&& public void onCreate(Bundle savedInstanceState) {&
&&&&&&& super.onCreate(savedInstanceState);&
&&&&&&& setContentView(R.layout.main);&
&&&&&&& hasSDTextView = (TextView) findViewById(R.id.hasSDTextView);&
&&&&&&& SDPathTextView = (TextView) findViewById(R.id.SDPathTextView);&
&&&&&&& FILESpathTextView = (TextView) findViewById(R.id.FILESpathTextView);&
&&&&&&& createFileTextView = (TextView) findViewById(R.id.createFileTextView);&
&&&&&&& readFileTextView = (TextView) findViewById(R.id.readFileTextView);&
&&&&&&& deleteFileTextView = (TextView) findViewById(R.id.deleteFileTextView);&
&&&&&&& helper = new FileHelper(getApplicationContext());&
&&&&&&& hasSDTextView.setText(&SD卡是否存在:& + helper.hasSD());&
&&&&&&& SDPathTextView.setText(&SD卡路径:& + helper.getSDPATH());&
&&&&&&& FILESpathTextView.setText(&包路径:& + helper.getFILESPATH());&
&&&&&&& try {&
&&&&&&&&&&& createFileTextView.setText(&创建文件:&&
&&&&&&&&&&&&&&&&&&& + helper.createSDFile(&test.txt&).getAbsolutePath());&
&&&&&&& } catch (IOException e) {&
&&&&&&&&&&& e.printStackTrace();&
&&&&&&& }&
&&&&&&& deleteFileTextView.setText(&删除文件是否成功:&&
&&&&&&&&&&&&&&& + helper.deleteSDFile(&delete.txt&));&
&&&&&&& readFileTextView.setText(&读取文件:& + helper.readSDFile(&benzeph.txt&));&
Layout.xml
&?xml version=&1.0& encoding=&utf-8&?&&
&LinearLayout xmlns:android=&/apk/res/android&&
&&& android:layout_width=&fill_parent&&
&&& android:layout_height=&fill_parent&&
&&& android:orientation=&vertical& &&
&&& &TextView&
&&&&&&& android:id=&@+id/hasSDTextView&&
&&&&&&& android:layout_width=&fill_parent&&
&&&&&&& android:layout_height=&wrap_content&&
&&&&&&& android:text=&@string/hello& /&&
&&& &TextView&
&&&&&&& android:id=&@+id/SDPathTextView&&
&&&&&&& android:layout_width=&fill_parent&&
&&&&&&& android:layout_height=&wrap_content&&
&&&&&&& android:text=&@string/hello& /&&
&&& &TextView&
&&&&&&& android:id=&@+id/FILESpathTextView&&
&&&&&&& android:layout_width=&fill_parent&&
&&&&&&& android:layout_height=&wrap_content&&
&&&&&&& android:text=&@string/hello& /&&
&&& &TextView&
&&&&&&& android:id=&@+id/createFileTextView&&
&&&&&&& android:layout_width=&fill_parent&&
&&&&&&& android:layout_height=&wrap_content&&
&&&&&&& android:text=&false& /&&
&&& &TextView&
&&&&&&& android:id=&@+id/readFileTextView&&
&&&&&&& android:layout_width=&fill_parent&&
&&&&&&& android:layout_height=&wrap_content&&
&&&&&&& android:text=&false& /&&
&&& &TextView&
&&&&&&& android:id=&@+id/deleteFileTextView&&
&&&&&&& android:layout_width=&fill_parent&&
&&&&&&& android:layout_height=&wrap_content&&
&&&&&&& android:text=&false& /&&
&/LinearLayout&&
注意一定要在Manifest中加入读取外部设备的条件允许,我之前就是一直忘记加入,导致文件老是不能创建和删除。
&uses-permission android:name=&android.permission.WRITE_EXTERNAL_STORAGE&/&&
摘自 Ben Zeph's Code Cloudandroid中的文件操作详解以及内部存储和外部;2:286789人阅读评论;摘要其实安卓文件的操作和java在pc环境下的操;其实安卓文件的操作和java在pc环境下的操作并;在java中,关于相对路径和绝对路径是这样解释的;绝对路径是指书写文件的完整路径,例如d:\\ja;相对路径是指书写文件的部分路径,例如\\test;在Ecli
android中的文件操作详解以及内部存储和外部存储
02:28 6789人阅读评论(0) 收藏举报 摘要其实安卓文件的操作和java在pc环境下的操作并无二致,之所以需要单独讲解是因为安卓系统提供了不同于pc的访问文件系统根路径的api,同时对一个应用的私有文件做了统一的管理。根据我的经验,初学者在这部分感到很容易混淆内部存储和外部存储两个概念。相对 其实安卓文件的操作和java在pc环境下的操作并无二致,之所以需要单独讲解是因为安卓系统提供了不同于pc的访问文件系统根路径的api,同时对一个应用的私有文件做了统一的管理。根据我的经验,初学者在这部分感到很容易混淆内部存储和外部存储两个概念。 相对路径和绝对路径 在java中,关于相对路径和绝对路径是这样解释的,如果你很熟悉这部分以下灰色文字可以跳过: 绝对路径是指书写文件的完整路径,例如d:\\java\\Hello.java,该路径中包含文件的完整路径d:\\java以及文件的全名Hello.java。使用该路径可以唯一的找到一个文件,不会产生歧义。但是使用绝对路径在表示文件时,受到的限制很大,且不能在不同的操作系统下运行,因为不同操作系统下绝对路径的表达形式存在不同。 相对路径是指书写文件的部分路径,例如\\test\\Hello.java,该路径中只包含文件的部分路径\\test和文件的全名Hello.java,部分路径是指当前路径下的子路径,例如当前程序在d:\\abc下运行,则该文件的完整路径就是d:\\abc\\test。使用这种形式,可以更加通用的代表文件的位置,使得文件路径产生一定的灵活性。 在Eclipse项目中运行程序时,当前路径是项目的根目录,例如工作空间存储在d:\\javaproject,当前项目名称是Test,则当前路径是:d:\\javaproject\\Test。在控制台下面运行程序时,当前路径是class文件所在的目录,如果class文件包含包名,则以该class文件最顶层的包名作为当前路径。 这是java在多数操作系统中这样操作,很显然是要我们尽可能的使用相对路径,但是在安卓中,其实多数情况下我们都是使用的绝对路径。为什么呢?注意上面说到相对路径是以当前项目所在路径为当前路径,但在安卓中我们是不可能在项目所在路径目录下做任何操作的,因为普通java中我们的项目创建于服务器(pc也算是服务器),运行于服务器,我们当然能在服务器操作自己的文件目录。但是安卓开发中,我们的项目一般是创建于自己工作的电脑,而运行于手机,既然apk已经运行于手机了,那项目就已经部署到手机上了,应该以apk在手机上的位置来确定相对路径,但我们好像们没有办法操作这个路径的,因为apk是在system目录下,就算可以操作,在这个目录下存取文件也是没有意义的,比如我写一个相册程序,图片肯定是放在外部存储中,而如果我要保存一个应用的一些设置数据,我是放在内部存储的data目录下,因此其实在安卓文件管理中,我们都是在操作绝对路径。 File类 操作一个文件(读写,创建文件或者目录)是通过File类来完成的,这个操作和java中完全一致。 外部存储external storage和内部存储internal storage 1.内部存储: 注意内部存储不是内存。内部存储位于系统中很特殊的一个位置,如果你想将文件存储于内部存储中,那么文件默认只能被你的应用访问到,且一个应用所创建的所有文件都在和应用包名相同的目录下。也就是说应用创建于内部存储的文件,与这个应用是关联起来的。当一个应用卸载之后,内部存储中的这些文件也被删除。从技术上来讲如果你在创建内部存储文件的时候将文件属性设置成可读,其他app能够访问自己应用的数据,前提是他知道你这个应用的包名,如果一个文件的属性是私有(private),那么即使知道包名其他应用也无法访问。内部存储空间十分有限,因而显得可贵,另外,它也是系统本身和系统应用程序主要的数据存储所在地,一旦内部存储空间耗尽,手机也就无法使用了。所以对于内部存储空间,我们要尽量避免使用。Shared Preferences和SQLite数据库都是存储在内部存储空间上的。内部存储一般用Context来获取和操作。 getFilesDir()获取你app的内部存储空间,相当于你的应用在内部存储上的根目录。 如果是要创建一个文件,如下 1 File file = newFile(context.getFilesDir(), filename); 安卓还为我们提供了一个简便方法openFileOutput()来读写应用在内部存储空间上的文件,下面是一个向文件中写入文本的例子: String filename = \ String string = \ FileOutputStreamoutputS try{ outputStream = openFileOutput(filename, Context.MODE_PRIVATE); outputStream.write(string.getBytes()); outputStream.close(); } catch(Exception e) { e.printStackTrace(); } 内部存储的其他一些操作: A.列出所有的已创建的文件,这个可能不容易想到,Context居然有这样的方法。 1 String[] files = Context.fileList(); 2 3 4 for(String file : files) { Log.e(TAG, \ } B.删除文件,能创建就要能够删除,当然也会提供了删除文件的接口,它也非常简单,只需要提供文件名 if(Context.deleteFile(filename)) { Log.e(TAG, \ } else { Log.e(TAG, \} C.创建一个目录,需要传入目录名称,它返回一个文件对象用到操作路径 File workDir = Context.getDir(dirName, Context.MODE_PRIVATE); Log.e(TAG, \ 总结一下文件相关操作,可以得出以下三个特点: 1. 文件操作只需要向函数提供文件名,所以程序自己只需要维护文件名即可; 2. 不用自己去创建文件对象和输入、输出流,提供文件名就可以返回File对象或输入输出流 3. 对于路径操作返回的都是文件对象。
2.外部存储: 最容易混淆的是外部存储,如果说pc上也要区分出外部存储和内部存储的话,那么自带的硬盘算是内部存储,U盘或者移动硬盘算是外部存储,因此我们很容易带着这样的理解去看待安卓手机,认为机身固有存储是内部存储,而扩展的T卡是外部存储。比如我们任务16GB版本的Nexus 4有16G的内部存储,普通消费者可以这样理解,但是安卓的编程中不能,这16GB仍然是外部存储。 所有的安卓设备都有外部存储和内部存储,这两个名称来源于安卓的早期设备,那个时候的设备内部存储确实是固定的,而外部存储确实是可以像U盘一样移动的。但是在后来的设备中,很多中高端机器都将自己的机身存储扩展到了8G以上,他们将存储在概念上分成了\内部internal\和\外部external\两部分,但其实都在手机内部。所以不管安卓手机是否有可移动的sdcard,他们总是有外部存储和内部存储。最关键的是,我们都是通过相同的api来访问可移动的sdcard或者手机自带的存储(外部存储)。 外部存储虽然概念上有点复杂,但也很好区分,你把手机连接电脑,能被电脑识别的部分就一定是外部存储。
关于外部存储,我觉得api中在介绍Environment.getExternalStorageDirectory()方法的时候说得很清楚: don't be confused by the word \media/shared storage. It is a filesystem that can hold a relatively large amount of data and that is shared across all applications (does not enforce permissions). Traditionally this is an SD card, but it may also be implemented as built-in storage in a device that is distinct from the protected internal storage and can be mounted as a filesystem on a computer. 看不懂没关系,其实跟我说的意思差不多,只是觉得说得比较形象,不知道是我的表述问题,还是英文在逻辑解释方面比汉语强,因为白话文其实是被阉割的汉语。 外部存储中的文件是可以被用户或者其他应用程序修改的,有两种类型的文件(或者目录): 1.公共文件Public files:文件是可以被自由访问,且文件的数据对其他应用或者用户来说都是由意义的,当应用被卸载之后,其卸载前创建的文件仍然保留。比如camera应用,生成的照片大家都能访问,而且camera不在了,照片仍然在。 如果你想在外存储上放公共文件你可以使用getExternalStoragePublicDirectory() public File getAlbumStorageDir(String albumName) { // Get the directory for the user's public pictures directory. File file = newFile(Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_PICTURES), albumName); if(!file.mkdirs()) { Log.e(LOG_TAG, \ }
} 在上面的代码中我们创建获得了存放picture的目录,并且新创建一个albumName文件。 如果你的api版本低于8,那么不能使用getExternalStoragePublicDirectory(),而是使用Environment.getExternalStorageDirectory(),他不带参数,也就不能自己创建一个目录,只是返回外部存储的根路径。 2.私有文件Private files:其实由于是外部存储的原因即是是这种类型的文件也能被其他程序访问,只不过一个应用私有的文件对其他应用其实是没有访问价值的(恶意程序除外)。外部存储上,应用私有文件的价值在于卸载之后,这些文件也会被删除。类似于内部存储。 创建应用私有文件的方法是Context.getExternalFilesDir(),如下: public File getAlbumStorageDir(Context context, String albumName) { // Get the directory for the app's private pictures directory. File file = newFile(context.getExternalFilesDir( Environment.DIRECTORY_PICTURES), albumName); if(!file.mkdirs()) { Log.e(LOG_TAG, \ }
} 上面的代码创建了一个picture目录,并在这个目录下创建了一个名为albumName的文件,Environment.DIRECTORY_PICTURES其实就是字符串picture。 所有应用程序的外部存储的私有文件都放在根目录的Android/data/下,目录形式为/Android/data// 如果你的api版本低于8,那么不能使用getExternalFilesDir(),而是使用Environment.getExternalStorageDirectory()获得根路径之后,自己再想办法操作/Android/data//下的文件。 也就是说api 8以下的版本在操作文件的时候没有专门为私有文件和公共文件的操作提供api支持。你只能先获取根目录,然后自行想办法。 三亿文库包含各类专业文献、幼儿教育、小学教育、生活休闲娱乐、行业资料、应用写作文书、各类资格考试、android中的文件操作详解以及内部存储和外部存储74等内容。 
 答案: 目前,手机上的操作系统主要包括以下几种,分别...内 核的线程管理和底层内存管理,也可以执行 Dalvik ...和 SMS 短信,以及 浏览 Android 模拟器文件系统等...  单片机的存储器在物理结构上分为程序存储器空间和数据存储器空间,共有 4 个 存储空间: 片内程序存储器、片外程序存储器以及片内数据存储器、片外数据存储器空间...  android 中的文件操作详解以及内部存储和外部存储
02:28 6789 人阅读评论(0) 收藏举报 摘要其实安卓文件的操作和 java 在 pc 环境下的操作并无二...  android中数据存储及对xml的解析_计算机软件及应用_IT/计算机_专业资料。教你轻...在 android 中,操作 xml 文件,一般有几种方式:SAX 操作,Pull 操作,DOM 操作...  安卓数据存储详解-孙霞霞著_计算机软件及应用_IT/计算机_专业资料。【share...隔离性,全部存在于一个文件夹当中。 4. 跨平台,支持多种操作系统 5. 多...  HHT 安卓系统文件夹及其文件解析打开 Android 文件管理器,会发现里面数十个英文名称命名的文件夹罗列其中,很多功能我们可 以从其名字上略有所知,内部大批量的文件...  Android AndroidManifest 清单文件以及权限详解_计算机...Android 平台上底层 Flinger 获取 WiFi 状态 账户...写入外部存储 写入日程提醒 android.permission.WRITE_...  android中数据存储及对xml的解析_计算机软件及应用_IT/计算机_专业资料。android ...在 android 中,操作 xml 文件,一般有几种方式:SAX 操作,Pull 操作,DOM 操作...在 SegmentFault,解决技术问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
一线的工程师、著名开源项目的作者们,都在这里:
获取验证码
已有账号?
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
系统已经 root, 我想读取 /data/wifi/misc/wpa_supplicant.conf 文件, 已经添加申请 root 权限代码
当我读取这个文件的时候,系统输出 没有权限访问文件
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
"申请 root 权限代码",是在rooted的系统调了su吗,这样应该不会没权限。
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:}

我要回帖

更多关于 java中读写文件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信