Android studio 中使用java 读取txt 文件, 返回的是空串

各位大神: 如题

在android studio中, 断点看了一下 ,程序没有进 while 循环啊,result 直接是空串了.然后就直接进入 catch了. 但是使用javac 编译, 可以正常打印txt文件中的内容

public static String txtFile(File file) {
StringBuilder result = new StringBuilder();
try {
BufferedReader br = new BufferedReader(new FileReader(file));//构造一个BufferedReader类来读取文件
String s = "null";
while ((s = br.readLine()) != null) {//使用readLine方法,一次读一行
result.append(System.lineSeparator() + s);
}
br.close();
} catch (Exception e) {
e.printStackTrace();
}
return result.toString();

catch 中的异常提示 : java io fileNotFoundException D:/Fortest/test_doc/testfile.txt: open failed: ENOENT (No such file or directory)

但是本地有这个文件,因为 javac 编译通过了,而且打出了字符串 ,如下 :

但是在本地,使用javac 编译,然后运行,可以正常打印出txt 内容.
D:\test>javac Filedemo.java
D:\test>java Filedemo
Love your parents. We are too busy growing up yet we forget that they are already growing old.
The moment you think about giving up,think of the reason why you held on so long.

如果javac 编译可以通过,那说名程序没有问题啊, studio 环境问题? 求解答.
非常感谢

11个回答

运行到手机上 还用的D盘?

MyTestAndroid
a小飞象 回复cashisna: 如果运行到手机 咋还读d盘啊~~可以文件放到手机里 然后把相应路径传进去,或者在src\main下建一个assets文件夹把文件扔进去,然后 InputStream input = getAssets().open("你的文件"); 可以获取到流了
一年多之前 回复
cashisna
cashisna 我这个txt文件是放在D盘的,我也是想读取D盘的文件,需要改变路径吗?
一年多之前 回复

我来回答你一下:
应该是路径问题,因为as程序是要运行在android上的,你android设备上没有这个文件或这个目录,所以就发生了上述异常,
解决办法就是把你的txt文件放在android设备上,然后找这个路径来读。
另外你这个之所以能用Javac能得出结果,是因为java虚拟机机是在你的电脑上,所以你运行程序java虚拟机是从的电脑上找文件路径,
故而能运行成功。
希望能帮到你

qq_34435022
小小☞钟 回复cashisna: 可以读取pc本地文档,不过你要把本地文档放在服务器上面,然后通过android远程访问服务器来拿到数据
一年多之前 回复
cashisna
cashisna 请问能用as程序读取PC本地的文档吗??
一年多之前 回复

使用javac 编译,然后运行,可以正常打印出txt 内容

打印以下catch里面的异常看一下

cashisna
cashisna java io fileNotFoundException
一年多之前 回复
cashisna
cashisna D:/Fortest/test_doc/testfile.txt: open failed: ENOENT (No such file or directory)
一年多之前 回复

和权限有关系不,检查下

这完全就是路径错误,,,你应该把文件放到手机的sd卡或者项目中(raw或assert文件夹)去

qdlgjsj345
一条特立独行的咸鱼 回复cashisna: 具体可以参照这个,https://www.jianshu.com/p/5974fcf88170
一年多之前 回复
cashisna
cashisna 我这个工程也是放在D盘啊,没有找到你说的两个文件夹,在src/ main下吗?需要自己创建?
一年多之前 回复

你能将你这个进程的log全部都发出来吗?
比如打印的这句:java io fileNotFoundException D:/Fortest/test_doc/testfile.txt: open failed: ENOENT (No such file or directory)

这句前面一定是有进程ID,把这个ID相关的log都发出来看看。

你这个文件路径错了,这个是Linux下面的格式,你应该是在Windows上跑的,路径改成D:\Fortest\test_doc\testfile.txt

u013007470
Jacky-G 反斜杠需要转义,注意一下,输完最后没有显示出来
一年多之前 回复

建议你重写读取文件的方法,使用Context类的openFileInput()方法,它只接受一个参数,就是要读取的文件名,然后会自动到/data/data//files/目录
下去加载这个文件,并返回一个FileInputStream对象,得到这个对象就能用java流方式读取出来了
FileInputStream in = null;
BurreredReader reader =null;
in = openFileInput("参数写文件名");
reader = new BufferedReader(new InputStreamReader(in));

Android 设备使用window 下的盘符路径,软件运行怎么能找得到? 正确使用方法:
把文件复制到Android设备的存储里,然后读取这个路径下的文件,才能得到数据。

共11条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
使用RegQueryValue读取注册表老是返回空串
::RegQueryValue(HKEY_CURRENT_USER, _T("Software\\Count"), strCount, &nSize);rnrnHKEY_CURREN_USER\Software\Count的值是非空的,但读出来,strCount的值一直是空rnrn用这个函数写注册表倒是能写进去的rn::RegSetValue(HKEY_CURRENT_USER, _T("Software\\Count"), REG_SZ, strCount, strlen(strCount));rnrnrn就是读不出来,怎么回事啊rnrnrn
Android Studio 读取Assets目录下的文件
之前在Android Studio下编程时,发现当我使用网上所给的读取Assets目录的方法: getResources().getAssets().open(fileName) ;或者getAssets().open(fileName); 都是不成功的,它无法读取到Asstes目录下的文件。 真正想要读取到Assets目录下的文件需要按照下面代码进行: try {
GetWindowModuleFileName出错,返回空串
这是一个在DLL里的SHELL HOOK,监视2个消息(HSHELL_WINDOWACTIVATED和HSHELL_LANGUAGE),得到新窗口的程序路径和新窗口输入法的名字.rn但是temp和lang的新值都完全没有改变,仍然是temp和lang.rn[code=c]rnLRESULT CALLBACK shellhookproc(int nCode, WPARAM wParam, LPARAM lParam)rnrn wfstream ofile; rn LPTSTR temp=_T("temp");rn LPTSTR lang=_T("lang");rn DWORD proid;rn switch (nCode)rn rn case HSHELL_WINDOWACTIVATED:rn ofile.open("d:/out.txt",ios::app);rn GetWindowModuleFileName(NULL,temp,255);rn proid = GetWindowThreadProcessId(hWnd,&proid);rn ImmGetDescription(GetKeyboardLayout(proid),lang,255);rn ofile<<"HSHELL_WINDOWACTIVATED\t"<
android studio 读取assets文件夹下的文件
首先,和eclipse不同的是assets文件夹的位置,在eclipse中,assets文件夹是在res文件夹下 Paste_Image.png 在android studio中有所不同 Paste_Image.png Paste_Image.png 如果也和eclipse一样放在res文件夹下读取会报异常。 读取: InputStream inp
android studio 读取assets文件夹下文件
直接上代码  public static String getFromAssets(Context context, String fileName) {         InputStreamReader inputReader = null;         try {             inputReader = new InputStreamReader(context.ge
delphi分割字符串去空串.txt
delphi分割字符串去空串
java 读取 txt 中的数字
文件是酱紫的:rnrnnum.txtrn2.3 1rn3.5 2rn2.2 0rn.rn.rn.rnrn现在想将他们读出来,(一行中分别存到 double 跟int 型的变量里面)。 只是读出来这么简单。请教大哥了。 小弟刚从C++转营过来。//java 的IO还真TM麻烦,如果有fscanf 这样的就好了。
java 读取txt中矩阵
本文的难点在读入的txt为字符串,需要将字符串转化为双精度实形。且需要对最后一次txt文件的Null字符进行判定。另外需要注意java读入utf8应当为100%,而不是with BOM.import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.InputStr
aar文件在android studio中的使用
1。将aar放到libs目录中 2。 gradle中添加如下代码: 即可.
Android Studio中读取assets文件夹下的文件
这里涉及到的有两种需求,分别是读取assets下的数据库文件,另一个是读取assets下的图片。 1) 读取assets下的数据库文件 public class SQLdm {     String filePath = "data/data/tongchuang.com.test/databases/test.db";     String pathStr = "data/dat
android下读取txt的问题
现在我的项目文件夹下有a.txtrn里面有些这样的内容:rn姓名 学号rn张三 10000rn李四 10001rn......rnrnrn请问android下怎么读取txt文件rn还有怎么通过输入学号 显示姓名 rn
Android读取txt的方法
  1、放入到资源文件夹里面,也就是所创建android工程的res下面。     我们可以在里面建立文件夹,放置我们要读取的文件。 例如:res里面建立目录raw,将要读取的文件abc.bin放入到该文件夹下,此时通过 openRawResource()方法即可读取。代码为   InputStream is = getResources().openRawResource(R.raw...
android studio使用的speex文件
修正版,可以编译通过生成so文件。可能有些文件没有用到过于臃肿
Android 读取TXT 文件中文乱码 解决方案
/********** Android 读取文件 中文 转码 ********/ BufferedReader bufferedReader = null; if (fileName.equals("/DoctorRecodeIOS.txt")) //文件默认编码为ANSI bufferedReader = new BufferedReader(new InputStream
java中空串" "和null的区别
&quot;  &quot; 空串是字符串常量,同时也是一个String 类的对象,既然是对象也就可以调用String 类中的方法. null 是空常量,不能调用任何的方法,否则会出现空指针异常, 但null常量可以给任意的引用数据类型赋值.   ...
java中空串""与null的区别
问题:很容易对java中的&quot;&quot;(空串)和null造成混淆,现做以下澄清:   比如声明一个 String str ;如果说str是null,那么内存根本没创建字符串对像,并由str引用。如果说str是空串,那么确实存在一个由str引用的字符串对像,只不过这个字符串的值是&quot;&quot;   null用来表示一个引用没有实例存在,而&quot;&quot;本身是一个实例,有自己的对象空间,和&quot;zzyyxx&quot;这...
读取 txt 文件
文章目录getline 函数操作读取str 和 int 数组 getline 函数操作 参考博文 读取str 和 int 数组 重点参考博客1和博客2 对于 .txt 文件的格式如下图(每行为:xxx.ply\t\tnum0\t\t…\t\tnum8): 读取的代码如下: #include &amp;amp;amp;amp;amp;amp;lt;iostream&amp;amp;amp;amp;amp;amp;gt; #include &amp;amp;amp;amp;amp;amp;lt;fstream
jquery 读取 txt 文件 ?
jquery 怎么读取 txt 文件 ?
python 读取txt 文件
filename = '/Users/sr00117/Desktop/bom1.txt' # txt文件和当前脚本在同一目录下,所以不用写具体路径 def readTxt(): valuelist = [] all_list = [] alone_list = [] with open(filename, 'r') as file_to_read: ...
PHP 读取 txt 文件
NULL 博文链接:https://onestopweb.iteye.com/blog/2407691
读取.txt的文件?
如何把一个.txt的文件内容读取到asp.net的程序中?rn
文件txt读取
用C语言将一段文字写入TXT文本,然后读出文本中的内容显示在屏幕上
在android studio中如何读取asserts中图片、文件
写一点自己在写代码中遇到的一点点小问题,有可能很简单,新手上路,我很菜,但是我很努力。 我们老大要我们在项目中加配置文件,还必须是放在asserts目录下。由于我们这个项目是在android studio工具开发的,毕竟刚上手啊,拿着百度上的搜来的资料,在Eclipse下的getResources().getAssets().open("文件名.后缀");结果发现报异常,原来是因为Android
Android Studio读取assets目录json文件乱码问题
将assets目录下的json文件读取出来后出现乱码
Android/Java 读取txt,转二维数组
今天这个,愁了一个早上,好在最后被我瞎搞搞出来了、、貌似markdown的代码块有点难看啊 -.- 思路:读取文档,把文档转化成 ArrayList,再将 ArrayList 转到二维数组里。 我这边是把一个txt,转化成float型的二维数组 记得设置安卓权限 <uses-permission android:name="android.permission.INTERNET"/> <u
java 读取doc docx txt 文件例子
java 读取doc,docx,txt文件,代码已做了很好的封装,可以在项目中使用!有问题给我发邮箱!
java 读取,写入 txt 文件示例
一:示例背景介绍:      本示例为了处理里相同格式的A,B两个txt 文件,筛选出文件中的不同即有三种情况:     1.A 中有的,B中没有的 ;     2.B中有的,A中没有的;     3.A,B两者都有的,不过值不完全相同; 二:具体实现:         文本格式形如:               java 代码如下:     java bean :
java读取txt文档的
public static void readTxtFile&#40;String filePath&#41;{ try { String encoding="gb2312";
java读取txt
java读取txt java读取txt java读取txt java读取txt
JAVA读取TXT文档
[code=&quot;java&quot;] import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; public class FileReaderTest { ...
Java读取TXT文件.txt
Java\读取TXT文件.txtJava\读取TXT文件.txt
Java读取txt
用于java读取txt文档,并可有相关的异常处理
java读取txt文本
java 读取 某目录下的txt文本,同样可以读取log文件
Java读取TXT的方法
这是Java读取TXT方法的程序,希望对需要的人有帮助。
java读取文本文件(txt)
[color=darkred]package com.jjm.lht; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; /** * @...
Android 读取内存文件返回byte数组
File file = new File(Environment.getExternalStorageDirectory()+"/w650.jpg"); private byte[] readFile(File file) { // 需要读取的文件,参数是文件的路径名加文件名 if (file.isFile()) { // 以字节流方法读取文件
JAVA 读取txt文件内容
JAVA 读取txt文件内容     public class ReadTest {     /**       * @author 戴尔电脑   * @date 2018-1-19 下午4:02:38 * 读取txt文件的内容 * @param file 想要读取的文件对象      *  course.txt      *  1,数据库      *  2,数学      *  3,信息...
Java读取txt到list
[img=https://img-bbs.csdn.net/upload/201810/26/1540537439_274298.jpg][/img][img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/onion/5.gif][/img]
java 读取txt Demo
java 读取txt Demo java 读取txt Demo
JAVA分段读取TXT
如题,我需要的效果是:rn我在读取一个TXT时,当碰上TXT中“flag”这个字符串,就把读取到的这一段返回,写入到一个TXT.rn然后再从“flag”后读取,如此循环。rn测试数据如下:、rnrnrnline-------1rnline-------2rnline-------3rnline-------4rn[color=red]flag[/color]line-------5rnline-------1rnline-------2rnline-------3rnline-------4rnline-------5rnline-------6rnline-------7rnline-------8rnline-------9rn[color=red]flag[/color]line-------10rnline-------1rnline-------2rnline-------3rnline-------4rnline-------5rnline-------6rnline-------7rnline-------8rnline-------9rnline-------10rnline-------11rnline-------12rnline-------13rnline-------14rn[color=red]flag[/color]line-------15rnrn各位大侠请指教!!!!n[b]问题补充:[/b]n不行啊,用split读出来的格式就不同了,因为我还要写到文档里
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数