在共享首选项中获取文件大小
Posted
技术标签:
【中文标题】在共享首选项中获取文件大小【英文标题】:Get File size sore it in shared preference 【发布时间】:2014-04-27 11:51:32 【问题描述】:有人可以帮我获取 SD 卡文件大小并以共享首选项存储: 我不知道如何阅读 URL_FileSize 并与已经将其存储在共享首选项中的内容进行比较。如果它的 URL 文件更大,则存储文件大小下载如果不忽略..
编辑:
public class MainActivity extends Activity
public static final String PREFS_UPDATE = "sysupdate";
public static final String external_sd = Environment
.getExternalStorageDirectory().getAbsolutePath();
public static final File sdCard = Environment.getExternalStorageDirectory();
public static final String sdcardBaseDir = sdCard.getAbsolutePath();
public static final String externalPath = "/android/data/com.example/";
public static final String csvFileName = "rsconfig.csv";
public static int file_size;
public static final String url = "http://www.example.com/appconfig.csv";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SharedPreferences prefs = getSharedPreferences(PREFS_UPDATE, 0);
file_size = prefs.getInt("fileSize", 0);
try
URL link = new URL(url);
URLConnection urlConnection = link.openConnection();
urlConnection.connect();
int link_file_size = urlConnection.getContentLength();
if (file_size < link_file_size)
// Download it
File filenew = new File(sdcardBaseDir + externalPath
+ csvFileName);
int file_size = Integer.parseInt(String.valueOf(filenew
.length()));
SharedPreferences.Editor editor = getPreferences(0).edit();
editor.putLong("fileSize", file_size);
editor.commit();
startDownload();
catch (Exception e)
e.printStackTrace();
private void startDownload()
// TODO Auto-generated method stub
提前感谢您的任何建议和 cmets...
【问题讨论】:
【参考方案1】:您必须在url
上获取文件的文件大小。为此,您可能必须在代码中执行类似的操作。
URL link = new URL(url);
URLConnection urlConnection = link.openConnection();
urlConnection.connect();
int link_file_size = urlConnection.getContentLength();
if (file_size < link_file_size)
//Download it
else
//Ignore the file
【讨论】:
感谢 Antrromet 的重播……我现在无法访问我的工作,我稍后再测试…… 亲爱的 Antrromet 我已经用你的代码更新了我的代码,如果我做错了什么,你能看看吗?因为当我运行时没有文件下载它... link_file_size 的值是多少?如果它为 0,那么您的服务器未配置为返回文件大小。如果是这种情况,那么您应该向服务器人员询问相同的情况。以上是关于在共享首选项中获取文件大小的主要内容,如果未能解决你的问题,请参考以下文章