- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我想在 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 that
if(!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 文件时,它可以打开,但只是白色。
谁能帮帮我?
Cảm ơn
1 Câu trả lời
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 应用程序的堆空间非常有限。如果您不将整个文件读入内存,而是将其流式传输并一次一个 block 地发送到服务器,情况会更好。
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 文件转字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30196306/
Cách sử dụng SPListCollection.Add(String, String, String, String, Int32, String, SPListTemplate.QuickLaunchO
Tôi mới bắt đầu sử dụng C++ và có một số kinh nghiệm với C#, vì vậy tôi có một số kinh nghiệm lập trình chung. Tuy nhiên, có vẻ như tôi đã bị bắn hạ ngay lập tức. Tôi đã thử tìm kiếm trên Google để không lãng phí thời gian của mọi người, nhưng vô ích. int main(int argc,
Câu hỏi này đã có câu trả lời: Trong Java 8, làm thế nào để chuyển đổi một Bản đồ thành một Bản đồ khác bằng lambda? (8 câu trả lời) Chuyển đổi Bản đồ>
Tôi đang sử dụng node + typescript với swagger tích hợp cho các lệnh gọi API. Tôi Swagger thực hiện yêu cầu sau tới http://localhost:3033/employees/sear
Tôi mới làm quen với mẫu container C++. Tôi đã thu thập được một số hồ sơ. Mỗi bản ghi có một tên duy nhất và danh sách các cặp trường/giá trị. Các bản ghi sẽ được truy cập theo tên. Thứ tự của cặp trường/giá trị rất quan trọng. Vì vậy, tôi thiết kế nó như sau: typedef string
Tôi cần hai phương pháp này nhưng j2me không có, tôi tìm thấy một replaceall(); nhưng đây là replaceall(string,string,string); Phương pháp thứ hai là SringBuffer nhưng trong j2me nó không có
Nếu string là bí danh của String trong .net framework thì tại sao điều này lại xảy ra và tôi nên diễn giải nó như thế nào: type JustAString = string
Tôi có hai danh sách (hoặc chuỗi): một danh sách lớn, một danh sách nhỏ. Tôi muốn kiểm tra xem phần lớn hơn (A) có chứa phần nhỏ hơn (B) không. Kỳ vọng của tôi như sau: Trường hợp 1. B là tập con của A A = [1,2,3] B = [1,2] chứa(A
Tôi có một vấn đề nhỏ mà có vẻ như tôi không thể giải quyết được. Ở đây... Tôi có một đầu vào được tạo như thế này... var input = $(''); Nếu tôi làm thế này... mọi thứ đều ổn $(this).append(input); Nếu tôi
Tôi có đoạn mã sau string[] lines = objects.Split(new string[] { "\r\n", "\n" }, StringSplitOptions.No
Có lẽ điều này thực sự đơn giản nhưng tôi đã bối rối một thời gian rồi. Tôi đang cố gắng xuất ra một chuỗi rồi một số double với hai chữ số thập phân theo sau là một chuỗi khác, đây là mã của tôi. System.out.printf("Chi phí:%.2
Đây là một trong những ví dụ từ danh sách truy vấn Cloud Firestore citiesRef.where("state", ">=", "CA").where("state", "= string, chúng ta đang ở trong Stack Overflow
Tôi đang cố kiểm tra xem một chuỗi có nằm trong một chuỗi khác hay không. Mã phía sau khá đơn giản. Tôi có thể làm điều này trong jquery như thế nào? hàm deleteRow(locName, locID) { nếu
Câu hỏi này đã có câu trả lời tại đây: Cách triển khai big int trong C++ (14 câu trả lời) Đã đóng 9 năm trước. Tôi có 2 chuỗi, cả hai đều chỉ chứa số. Những con số này lớn hơn uint64_t
Tôi có một ánh xạ Dozer với một bộ chuyển đổi tùy chỉnh: com.xyz.Customer com.xyz.CustomerDAO customerName
Câu hỏi này đã có câu trả lời tại đây: Làm thế nào để so sánh các chuỗi trong Java? (23 câu trả lời) Đã đóng 6 năm trước. Tôi muốn hiểu cách hoạt động của nhóm chuỗi và quy tắc để một chuỗi bằng với một chuỗi khác là gì
Tôi đã đọc câu hỏi này và một số câu hỏi khác. Nhưng chúng có phần không liên quan đến câu hỏi của tôi. Đối với UILabel nếu bạn không chỉ định ? hoặc ! bạn sẽ nhận được lỗi như thế này: Thuộc tính @IBOutlet không có tùy chọn
Về mặt lý thuyết, phương pháp nào trong hai phương pháp này nhanh hơn và tại sao? (Con trỏ tới chuỗi phải là hằng số.) Sự khác biệt chính xác giữa destination[count] và *destination++ là gì? đích đến[co
Câu hỏi này đã có câu trả lời ở đây: Đã đóng 11 năm trước. Có thể trùng lặp: Is String.Format a
Tôi có một Stream của một tệp, bây giờ tôi muốn nhóm các từ giống nhau vào một Map. Điều quan trọng là tần suất xuất hiện của từ trong Stream. Tôi biết tôi phải sử dụng collect(Collectors.groupingBy(..)
Tôi là một lập trình viên xuất sắc, rất giỏi!