android读取本地文件
Ⅰ Android开发之如何读写文件
【转】
首先介绍如何存储数据,显然,要将数据从应用中输出到文件中,必须得到一个输出流outPutStream,然后往输出流中写入数据,在这里Android自带了一个得到应用输出流的方法
FileOutputStream fos =context.openFileOutput(“yuchao.txt”,Context.MODE_PRIVATE); (1)
其中第一个属性为文件名,第二个属性为读写模式(有关读写模式的说明下面将详细阐述),
然后在文件输出流fos中便可以写入数据
Fos.write(“Hi,”I’m Chao Yu!”.getBytes());
用完文件输出流之后记得关闭
fos.close();
这样,在/data/data/packageName/file目录下就生成了一个文件名为yuchao.txt的文件,文件中的内容为” Hi,I’m Chao Yu!”
有关(1)中读写模式其实就是制定创建文件的权限以及在读写的时候的方式,Android中提供了以下几种读写模式
Context.MODE_PRIVATE = 0
该模式下创建的文件其他应用无权访问,并且本应用将覆盖原有的内容
Context.MODE_APPEND = 32768
该模式下创建的文件其他应用无权访问,并且本应用将在原有的内容后面追加内容
Context.MODE_WORLD_READABLE = 1
该模式下创建的文件其他应用有读的权限
Context.MODE_WORLD_WRITEABLE = 2
该模式下创建的文件其他应用有写的权限
如果需要将文件设置为外部应用可以读写,可将读写模式设置为Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE
一般情况下,各个应用维护的数据都在一个特定的文件夹中,即上面所提到的/data/data/packageName/file(存在于手机存储中),但手机内存毕竟有限,所以有些情况下,我们需要往SD卡中写入数据文件,这其实和普通的java web 应用步骤一样,都是先创建特针对特定目录特定文件的输出流,然后往输出流中写数据,这里要注意一个方法,就是获取SD卡根目录的方法,随着Android系统不断升级,SD卡的根目录随时都有可能改变,Android中得到SD卡根目录的方法是
File sdCardDir = Environment.getExternalStorageDirectory();
然后就可以进行下面的步骤
File saveFile = new File(sdCardDir, “yuchao.txt”);
FileOutputStream outStream = new FileOutputStream(saveFile);
outStream.write("Hi,I’m ChaoYu".getBytes());
outStream.close();
值得注意的是,在往SD卡中写数据的时候,健壮的代码必须考虑SD卡不存在或者写保护的情况,故在写入之前,先做判断
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
……
}
接着,我们来学习下我们的应用程序如何读取文件中的数据,其实就是写的逆向过程
若要读取应用程序默认维护的文件(即/data/data/packageName/file目录下的文件),首先得到文件输入流
FileInputStream istream = this.context.openFileInput(“yuchao.txt”);
然后在内存中开辟一段缓冲区
byte[] buffer = new byte[1024];
然后创建一个字节数组输出流
ByteArrayOutputStream ostream = new ByteArrayOutputStream();
读出来的数据首先放入缓冲区,满了之后再写到字符输出流中
while((len=istream.read(buffer))!=-1){
ostream.write(buffer, 0, len);
}
最后关闭输入流和输出流
istream.close();
ostream.close();
将得到的内容以字符串的形式返回便得到了文件中的内容了,这里的流操作较多,故以一张图片来说明,见图1
return new String(ostream.toByteArray());
从SD卡中读取数据与上述两个步骤类似,故不再赘述,留给读者自己思考
如在开发过程中进行SD卡地读写,切忌忘了加入权限
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
至此,Android系统中有关文件数据的读写介绍完毕。
Ⅱ unity发布安卓怎么读取本地文件
如果是读Android系统的文件,比如sd卡的,需要另外接入Android层代码,用java去调用Android层的东西,类似做个sdk接入unity,一般就一个jar包就行。
如果你是做热更新,读取自己的东西,可以放在StreamingAssets文件夹下,这样发布完直接可以读,用www类读Application.streamingAssetsPath目录即可,目录前面不需要加file://,要是热更新,读完这些文件放在Application.persistentDataPath,就可以读写了
Ⅲ Android读取本地json文件的方法
本文实例讲述了Android读取本地json文件的方法。分享给大家供大家参考,具体如下:
1、读取本地JSON ,但是显示汉字乱码
public static String readLocalJson(Context context, String fileName){ String jsonString=""; String resultString=""; try { BufferedReader bufferedReader=new BufferedReader(new InputStreamReader( context.getResources().getAssets().open(fileName))); while ((jsonString=bufferedReader.readLine())!=null) { resultString+=jsonString; } } catch (Exception e) { // TODO: handle exception } return resultString;}
2、读取本地JSON,显示汉字正确,txt文件设置时UTF-8,UNIX
public static String readLocalJson(Context context, String fileName){ String jsonString=""; String resultString=""; try { InputStream inputStream=context.getResources().getAssets().open(fileName); byte[] buffer=new byte[inputStream.available()]; inputStream.read(buffer); resultString=new String(buffer,"GB2312"); } catch (Exception e) { // TODO: handle exception } return resultString;}
Ⅳ android 如何读写文件
读文件:
1、通过File获取文件
2、打开输入流,读取文件
写文件:
1、创建文件
2、打开输出流,写入文件内容
示例:
读文件:
Stringcontent="";//文件内容字符串
//通过路径/sdcard/foo.txt打开文件
Filefile=newFile("/sdcard/foo.txt");
try{
InputStreaminstream=newFileInputStream(file);//读取输入流
InputStreamReaderinputreader=newInputStreamReader(instream);//设置流读取方式
BufferedReaderbuffreader=newBufferedReader(inputreader);
while((line=buffreader.readLine())!=null){
content+=line+" ";//读取的文件内容
}
}catch(Exceptionex){
}
写文件:
Filefile=newFile("/sdcard/foo.txt");//
if(!file.exists())
file.createNewFile();//如果文件不存在,创建foo.txt
try{
OutputStreamoutstream=newFileOutputStream(file);//设置输出流
OutputStreamWriterout=newOutputStreamWriter(outstream);//设置内容输出方式
out.write("文字内容");//输出内容到文件中
out.close();
}catch(java.io.IOExceptione){
e.printStackTrace();
}
Ⅳ android怎么加载本地html文件
1。获取资源的输入流
资源文件 sample.txt 位于 $PROJECT_HOME/assets/ 目录下,可以在 Activity 中通过
Context.getAssets().open(“test.html”)
方法获取输入流。
注意:如果资源文件是文本文件则需要考虑文件的编码和换行符。建议使用UTF-8和Unix换行符。
2. WebView 加载assets目录下的html文件
资源文件 sample.html 位于 $PROJECT_HOME/assets/ 目录下,可以通过以下代码
WebView.loadUrl(“file:///android_asset/test.html”);
加载html文件。
Ⅵ Android应用程序怎样获取读取系统文件的权限
Android应用程序怎样获取读取系统文件的权限
1、必须是Android系统开发人员,否则你无法修改init.rc等文件。 2、你的应用程序必须要获得system权限。
在应用层 你要想用代码获得系统文件权限,除非你手机root了
要么你自己坐rom。。。。 自己修改 init,rc
具体可以参考这篇博文::blog.sina../s/blog_5f35912f0100w4ld.
怎样使Android应用程序获得root权限
可以参考如下内容:
按照 Simon 的文章中提到的,应用程序有以下两种办法临时获得 root 权限:
1) 实现一个 init 实现一个 Service ,来帮助 Android 应用程序执行 root 权限的命令。
2) 实现一个虚拟设备,这个设备帮助 Android 应用程序执行 root 权限的命令。
第二种办法我这里没有尝试,暂时也不会。这里讲讲我在实现第一种办法做扰物的过程和遇到的一些问题。
1. 将我们要执行的命令写成脚本,或者可执行程序。
下面是我的脚本 ifconfig_test.sh :
# ! /system/bin/sh
ifconfig
注意: 脚本的第一行必须为 # ! /system/bin/sh ,否则无法执行,通过 dmesg 可以查看到信息内容为cannot execve ./ifconfig_test.sh: Exec format error
android应用程序获取了root权限,依然不能访问系统data目录下的文件
- Root后授权Re文件管理器权限可以访问。
-
授权管理----允许Re获取权限。
-
Root是获取手机的管理员用户帐户,它可以访问和修改手机操作系统里几乎所有的文件,这样操作有可能影响到手机的稳定性,导致出现人为性故障现象,如死机、重启等。依据“消费者三包规定”Root属于修改操作系统软件,不属于包修范围李轿。
android应用程序如何获取View的坐标
public boolean onTouchEvent(android.view.MotionEvent event) { int x = event.getX(); int y = event.getY(); 多点触摸时 假如是第i个点 int x = event.getX(i); int y = event.getY(i); 坐标就是 P(x,y) }
如何使Android应用程序获得root权限
下载并安装好腾讯手机管家PC版之后,打开该软件并进入工具箱,你会发现“一键ROOT”和“KingRoot”两款工具。通过USB 将手机同电脑连接后,无论选择那纯液款工具,用户都可以通过简单的鼠标点击,完成之前难以达成的任务。选择“一键ROOT”按钮后,应用工具将智能匹配手机系统,寻找最适合该手机的ROOT方案,几分钟之后,用户手机即可成功获得ROOT权限。
Android应用程序获得root权限
在获取root权限后可以批量卸载系统自带应用
并且可以批量备份,在卸载系统应用之前先备份一次
然后就可以安心卸载系统自带应用了,
我一直是在用应用宝的手机管理软件在工具
箱的常用工具中找到一键ROOT工具,
点击启动该工具便可以轻松的实现手机一键ROOT。
此外,你还可以点击一键优化按钮来优化
手机建议一键优化,选择您需要的单个优化项,如垃圾缓存清理。
你可以尝试安装Kingroot授权管理软件,或者安装一键root大师软件进行root操作,只要你尝试root操作,一定可以root成功的。
Root权限的获取方式: 1.用手机连接电脑,下载一键root工具。 2.下载成功后,打开一键ROOT软件。会出现root准备,点击下一步,正式开始root。 3.检查root条件,要是需要文件备份的话,一定要备份后。点击开始ROOT。 4.root正式开始,需要几钟左右时间,期间可能会重启数次,root就会完成。 5.root完成后,就可以随意删除手机中的垃圾应用了包括系统应用。
Android system 要获取Root权限, 方法众多。
例如 : Bai Root, Amazing Root ...都可以
现以 BAIDU ROOT介绍步骤, 操作如下 :
1、机子下载 BAIDU ROOT(APK版)。
2、运作 BAIDU ROOT, 点选 "一键获取Root"。
3、机子 Root 成功了, 自动重启 。
PS:建议Rooting前备份手机数据。 Rooting过程约需时5min。
你可以试试刷机精灵,蘑菇云,深度刷机,Z4ROOT,甜椒等等,,,注意ROOT后,必须安装SUPERUSER,用于权限的管理,否则将没有任何作用,,,其实手机端也有很多,你可以到安卓软件站搜索ROOT,下载并安装,进行ROOT破解即可,,,不过解决方法会少很多,最好是电脑端ROOT破解。。。。刷机工具,可以到XIAZAIBA下载、。、