在android中怎么获取文件的创建时间
发布网友
发布时间:2022-05-17 15:58
我来回答
共5个回答
热心网友
时间:2023-10-28 04:57
数据库中的文件的话,要adb shell进去查看数据库有没有该字段。存储卡上的文件的话,java中没有获取文件创建事件的接口。
一、 从resource中的raw文件夹中获取文件并读取数据(资源文件只能读不能写)
String res = "";
try{
InputStream in = getResources().openRawResource(R.raw.bbi);
//在\Test\res\raw\bbi.txt,
int length = in.available();
byte [] buffer = new byte[length];
in.read(buffer);
//res = EncodingUtils.getString(buffer, "UTF-8");
//res = EncodingUtils.getString(buffer, "UNICODE");
res = EncodingUtils.getString(buffer, "BIG5");
//依bbi.txt的编码类型选择合适的编码,如果不调整会乱码
in.close();
}catch(Exception e){
e.printStackTrace();
}
myTextView.setText(res);//把得到的内容显示在TextView上
二、 从asset中获取文件并读取数据(资源文件只能读不能写)
String fileName = "yan.txt"; //文件名字
String res="";
try{
InputStream in = getResources().getAssets().open(fileName);
// \Test\assets\yan.txt这里有这样的文件存在
int length = in.available();
byte [] buffer = new byte[length];
in.read(buffer);
res = EncodingUtils.getString(buffer, "UTF-8");
}catch(Exception e){
e.printStackTrace();
}
三、 从sdcard中去读文件,首先要把文件通过\android-sdk-windows\tools\adb.exe把本地计算机上的文件copy到sdcard上去,adb.exe push e:/Y.txt /sdcard/, 不可以用adb.exe push e:\Y.txt \sdcard\ 同样: 把仿真器上的文件copy到本地计算机上用: adb pull ./data/data/com.tt/files/Test.txt e:/
String fileName = "/sdcard/Y.txt";
//也可以用String fileName = "mnt/sdcard/Y.txt";
String res="";
try{
FileInputStream fin = new FileInputStream(fileName);
//FileInputStream fin = openFileInput(fileName);
//用这个就不行了,必须用FileInputStream
int length = fin.available();
byte [] buffer = new byte[length];
fin.read(buffer);
res = EncodingUtils.getString(buffer, "UTF-8");
fin.close();
}catch(Exception e){
e.printStackTrace();
}
myTextView.setText(res);
热心网友
时间:2023-10-28 04:58
数据库中的文件的话,你要adb shell进去查看数据库有没有该字段。存储卡上的文件的话,java中没有获取文件创建事件的接口。
热心网友
时间:2023-10-28 04:58
代码如下:
package com.dancen.test;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
/**
* Runtime获取文件创建时间示例
*
* @author Dancen
*
*/
public class FileCreatedDemo{
public static void main(String[] args){
try
{
String fileCreated = getFileCreated("D:\\xiyou.jpg");
System.out.println(fileCreated);
}
catch(Exception e)
{
e.printStackTrace();
}
}
public static String getFileCreated(String path)
{
if(null == path)
{
return null;
}
return getFileCreated(new File(path));
}
public static String getFileCreated(final File file)
{
if(null == file)
{
return null;
}
String rs = null;
final StringBuilder sb = new StringBuilder();
Process p = null;
try
{
p = Runtime.getRuntime().exec(String.format("cmd /C dir %s /tc", file.getAbsolutePath()));
}
catch(IOException e)
{
return rs;
}
final InputStream is = p.getInputStream();
final InputStreamReader ir = new InputStreamReader(is);
final BufferedReader br = new BufferedReader(ir);
Runnable runnable = new Runnable()
{
@Override
public void run()
{
String data = null;
try
{
while(null != (data = br.readLine()))
{
if(-1 != data.toLowerCase().indexOf(file.getName().toLowerCase()))
{
String[] temp = data.split(" +");
if(2 <= temp.length)
{
String time = String.format("%s %s", temp[0], temp[1]);
sb.append(time);
}
break;
}
}
}
catch(IOException e)
{
e.printStackTrace();
}
finally
{
try
{
if(null != br)
{
br.close();
}
if(null != ir)
{
ir.close();
}
if(null != is)
{
is.close();
}
}
catch(IOException e)
{
e.printStackTrace();
}
}
}
};
Thread thread = new Thread(runnable);
thread.start();
try
{
thread.join();
}
catch(InterruptedException e)
{
e.printStackTrace();
}
if(0 != sb.length())
{
rs = sb.toString();
}
return rs;
}
}
热心网友
时间:2023-10-28 04:59
文件管理器 选择详细信息
热心网友
时间:2023-10-28 04:59
长点文件 -看属性