Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Android中,文本文件在目录中的位置_Java_Android_File - Fatal编程技术网

Java 在Android中,文本文件在目录中的位置

Java 在Android中,文本文件在目录中的位置,java,android,file,Java,Android,File,我想在我的Android应用程序中包含一个文本文件,它不是字符串文件,而是标准文本文件。它包含定义在电路板上绘制的“地图”特征的数据。这个文件不是XML文件,所以我不确定应该把它放在哪里,或者对于android来说这不是一个好的文件结构?你打算这样做吗?如果你是在什么目录下,你想把他们?那么您打算如何访问该文件?我知道如何使用FileInputStreams和FileOutputStreams我只需要知道如何访问文件。欢迎并感谢所有相关答案 使用android文件夹结构中的资产或原始文件夹保存该

我想在我的Android应用程序中包含一个文本文件,它不是字符串文件,而是标准文本文件。它包含定义在电路板上绘制的“地图”特征的数据。这个文件不是XML文件,所以我不确定应该把它放在哪里,或者对于android来说这不是一个好的文件结构?你打算这样做吗?如果你是在什么目录下,你想把他们?那么您打算如何访问该文件?我知道如何使用FileInputStreams和FileOutputStreams我只需要知道如何访问文件。欢迎并感谢所有相关答案

使用android文件夹结构中的
资产
原始
文件夹保存该文件。如需了解更多信息,请阅读

,您必须按照Waqas的说法将文件放入资产文件夹

现在要访问它,你就这样做

我举一个使用BufferedReader的例子

BufferedReader reader = new BufferedReader(
                 new InputStreamReader(getAssets().open("YourTextFile.txt")));
小心点。就我而言,我现在不知道为什么,我无法读取大于1MB的文本文件,我不得不将它们拆分成多个小文件。似乎其他人也有同样的文件大小问题,但我在Android开发者网站上没有找到任何相关信息。如果有人知道的更多

跟进


我对1MB的问题是由于Android早期版本的已知缺陷/限制。由于使用了最新版本的Android,这个问题就不再存在了。

我只想补充一下公认的答案(不幸的是,我没有足够的声誉来评论)。这里的教程链接解释了如何设置res/raw方法或assets方法,这基本上是好的,但实际上有一个更简单的方法。看看这里描述的函数LoadFile。那个函数相当冗长。假设您只需要一个InputStream变量,这样您就可以读写文件了。然后删除第77行之后的所有内容!此外,您根本不需要资源id!您可以使用此功能:

//get the file as a stream
iS = resources.openRawResource(R.raw.mygpslog)
现在,您所要做的就是返回,这样您就可以获得所需的文件句柄

  • 作为参考,教程就在这里->

似乎有人已经在另一个问题[此处][1]中找到了答案。[1] :我只是觉得Waqas没有显示一个示例,因为您询问“我只需要知道如何访问该文件”,因此对我来说,答案是“不完整”,并向您提供有关文本文件大小的警告。但这不是比赛!我们在这里互相帮助,您实际上可以访问资产,而无需打开流并逐字节读取文件。您可以改为使用
file://android_asset/file.txt
,您可以立即访问该文件。你可以用它创建一个文件对象,或者做任何你喜欢的事情。这里接受的答案有更多关于资产文件夹的信息:我如何从android应用程序的应用程序文件夹中读取文件?如果我把.properties文件放在assets文件夹下,那么通过反向工程它是可见的。永远不要在应用程序/源代码中烘焙你的秘密内容。。。始终从在线来源发出请求,这样您将有更多的控制权。这是经验法则。如果文件位于资产中,则无法写入文件。