Android 获取共享首选项中的文件大小

Android 获取共享首选项中的文件大小,android,filesize,Android,Filesize,有人能帮我获取SD卡文件大小并存储在共享首选项中吗: 我不知道如何读取URL_文件大小并与已存储在共享首选项中的文件进行比较。如果其URL文件较大,则存储文件大小下载,如果不忽略 编辑: public class MainActivity extends Activity { public static final String PREFS_UPDATE = "sysupdate"; public static final String external_sd = Environment

有人能帮我获取SD卡文件大小并存储在共享首选项中吗: 我不知道如何读取URL_文件大小并与已存储在共享首选项中的文件进行比较。如果其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

}

提前感谢您的建议和评论…

您必须获得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
    }

感谢Antromet的重播…我现在无法访问我的工作,我将稍后进行测试亲爱的Antromet我已经用你的代码更新了我的代码你能看看我是否做错了什么吗?因为当我不运行任何文件时,下载它…链接文件大小的值是多少?如果为0,则服务器未配置为返回文件大小。如果是这种情况,那么您应该向服务器人员询问同样的问题。