
我想在Android中读取文件并以字符串形式获取内容.然后,我想将其发送到服务器.但是为了进行测试,我只是在设备上创建一个文件,然后将内容放入其中:
inputStream stream = getContentResolver().openinputStream(fileUri);BufferedReader reader = new BufferedReader(new inputStreamReader(stream));file dir = new file (Environment.getExternalStorageDirectory() + "/AndroID/data/" + getPackagename());if(!dir.exists()) dir.mkdirs();file file = new file(dir, "output."+format); // format is "txt", "png" or sth like thatif(!file.exists()) file.createNewfile();BuffereDWriter writer = null;writer = new BuffereDWriter(new fileWriter(file));String line = reader.readline();while (line != null){ writer.write(line); line = reader.readline(); if(line != null) writer.write("\n");}writer.flush();writer.close();stream.close();这适用于txt文件,但是例如当我尝试复制pdf文件时,它是可打开的,但只有白色.
谁能帮我?
谢谢
解决方法:
I want to read out a file in AndroID and get the content as a string.
pdf文件不是text files.它们是binary files.
Then I want to send it to a server
您的AndroID应用程序的堆空间非常有限.如果您不将整个文件读入内存,而是一次将其流式传输并一次发送给服务器,那将更好.
This works for txt files but when I for example try to copy a pdf file it is openable but just white.
那是因为您试图将pdf文件视为文本文件.不要这样做. Copy it as a binary file.
总结以上是内存溢出为你收集整理的java-Android文件到字符串全部内容,希望文章能够帮你解决java-Android文件到字符串所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)