我正在处理一个图片库应用程序,其中我正在从URL加载图像,所以我已经在文本文件中保存了一些图像URL,我试图从文本文件中读取URL到ArrayList<String>
但我不是能够在我的应用程序中加载图像。
我试过这个:但是没有作品图片没有加载
package com.nostra13.example.universalimageloader;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public final class Constants {
public static List<String> LIST = new ArrayList<String>();
public void parseFile() {
BufferedReader br = null;
try {
String sCurrentLine;
br = new BufferedReader(new FileReader("link.txt"));
while ((sCurrentLine = br.readLine()) != null) {
LIST.add(sCurrentLine);
}
br.close();
}
catch (IOException e) {
e.printStackTrace();
}
finally {
try {
if (br != null)br.close();
}
catch (IOException ex) {
ex.printStackTrace();
}
}
}
public static final String[] IMAGES = LIST.toArray(new String[LIST.size()]);
private Constants() {
}
public static class Config {
public static final boolean DEVELOPER_MODE = false;
}
public static class Extra {
public static final String IMAGES = "com.nostra13.example.universalimageloader.IMAGES";
public static final String IMAGE_POSITION = "com.nostra13.example.universalimageloader.IMAGE_POSITION";
}
}
但如果我像这样手动添加网址:它可以运作。
public static final String[] IMAGES = new String[] {
"https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcTybItEfE2Xu-Or72BHw8uZf19_mV2Kr8cuuU8kKYrVbeZPXIeX-Q",
"https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcTybItEfE2Xu-Or72BHw8uZf19_mV2Kr8cuuU8kKYrVbeZPXIeX-Q",
"https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcTybItEfE2Xu-Or72BHw8uZf19_mV2Kr8cuuU8kKYrVbeZPXIeX-Q",
"https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcTybItEfE2Xu-Or72BHw8uZf19_mV2Kr8cuuU8kKYrVbeZPXIeX-Q",
};
但我想从文本文件(sdcard / file.txt)添加文字,而不是手动添加。
答案 0 :(得分:0)
那么,您是否尝试使用Log.d()发布从文件中读取的文本行?
我最好的猜测是它没有正确读取文本文件,或者错误地格式化它(可能缺少空格,所以它认为它的1个大字符串?)
答案 1 :(得分:0)
尝试使用此代码:
public void parseFile() {
File sdcard = Environment.getExternalStorageDirectory();
File file = new File(sdcard,"link.txt");
BufferedReader br = null;
try {
String sCurrentLine;
br = new BufferedReader(new FileReader(file));
while ((sCurrentLine = br.readLine()) != null) {
LIST.add(sCurrentLine);
}
br.close();
}
catch (IOException e) {
e.printStackTrace();
}
finally {
try {
if (br != null)br.close();
}
catch (IOException ex) {
ex.printStackTrace();
}
}
}
对Environment.getExternalStorageDirectory()的调用将返回SD卡的路径,并且声明的变量文件的路径相对于SD卡的根目录。如果文件夹上的文件,你应该声明:
File file = new File(sdcard,"data/com.myapplication.example/images/link.txt");