
String printTxtPath = getApplicationContext()getPackageResourcePath() + "/files/" + fileName;
=> /data/app/examplefileoperation-2apk/files/printMenutxt
String printTxtPath = getApplicationContext()getFilesDir();
String printTxtPath = getApplicationContext()getFilesDir()getAbsolutePath();
=> /data/data/examplefileoperation/files
获取当前程式路径
getApplicationContext()getFilesDir()getAbsolutePath();
获取该程式的安装包路径
String path=getApplicationContext()getPackageResourcePath();
获取程式预设资料库路径
getApplicationContext()getDatabasePath(s)getAbsolutePath();
可能是某些安全软体正在读写某个资料夹,因此报这个错误。 处理方式: sdcard中的档案都可以删除 点选系统自带的档案管理器 点选SD卡,选择需要删除的目录,长按删除 将手机或者SD卡连线电脑,在电脑上删除
data/data目录怎么修改 这是一个系统档案,有些系统不让删,有些系统删除后,重启又会新建好!最好别乱删除免得出现新的问题
如果删除userdata目录软体还会自己建立的话就这样写
rd D:\progra~1\cyboqq\userdata /s/q
data下放的是手机的软体及资料等重要资讯,软体是放在data\app里的,data\data下是各种安装好的软体的资料。。。千万不要删,虽然现在很多软体可以删得掉。。。。 软体依然存在但是你用过软体的痕迹也会去除
安卓data/data/在哪里 data/data目录在手机自带储存中,是系统目录。安卓的data/data是所有程式储存资料的地方
程式码中,可以通过EnvironmentgetDataDirectory()getPath()方式获取到data目录。
我把安卓/data/log/目录档案删了,怎么恢复
如果你获取了最高许可权。那就只有刷机了。
请教怎么在/data/data/目录下建立档案是Linux系统吗?建立档案有很多种方法,如用vi编辑器、用touch建立空档案等。
就是直接将解压后的破解档案,剪下或者复制,直接黏贴放到data/data/目录下,会出现一个提醒你是否替换原始档的对话方块,你直接选择替换就行了!
Java读取目录下的文件内容,使用的是java的文件类,示例如下:
import javaioBufferedReader;import javaioFile;
import javaioFileInputStream;
import javaioFileReader;
import javaioIOException;
import javaioInputStream;
import javaioInputStreamReader;
import javaioRandomAccessFile;
import javaioReader;
public class ReadFromFile {
/
以字节为单位读取文件,常用于读二进制文件,如、声音、影像等文件。
@param fileName
文件的名
/
public static void readFileByBytes(String fileName) {
File file = new File(fileName);
InputStream in = null;
try {
Systemoutprintln("以字节为单位读取文件内容,一次读一个字节:");
// 一次读一个字节
in = new FileInputStream(file);
int tempbyte;
while ((tempbyte = inread()) != -1) {
Systemoutwrite(tempbyte);
}
inclose();
} catch (IOException e) {
eprintStackTrace();
return;
}
try {
Systemoutprintln("以字节为单位读取文件内容,一次读多个字节:");
// 一次读多个字节
byte[] tempbytes = new byte[100];
int byteread = 0;
in = new FileInputStream(fileName);
ReadFromFileshowAvailableBytes(in);
// 读入多个字节到字节数组中,byteread为一次读入的字节数
while ((byteread = inread(tempbytes)) != -1) {
Systemoutwrite(tempbytes, 0, byteread);
}
} catch (Exception e1) {
e1printStackTrace();
} finally {
if (in != null) {
try {
inclose();
} catch (IOException e1) {
}
}
}
}
/
以字符为单位读取文件,常用于读文本,数字等类型的文件
@param fileName
文件名
/
public static void readFileByChars(String fileName) {
File file = new File(fileName);
Reader reader = null;
try {
Systemoutprintln("以字符为单位读取文件内容,一次读一个字节:");
// 一次读一个字符
reader = new InputStreamReader(new FileInputStream(file));
int tempchar;
while ((tempchar = readerread()) != -1) {
// 对于windows下,\r\n这两个字符在一起时,表示一个换行。
// 但如果这两个字符分开显示时,会换两次行。
// 因此,屏蔽掉\r,或者屏蔽\n。否则,将会多出很多空行。
if (((char) tempchar) != '\r') {
Systemoutprint((char) tempchar);
}
}
readerclose();
} catch (Exception e) {
eprintStackTrace();
}
try {
Systemoutprintln("以字符为单位读取文件内容,一次读多个字节:");
// 一次读多个字符
char[] tempchars = new char[30];
int charread = 0;
reader = new InputStreamReader(new FileInputStream(fileName));
// 读入多个字符到字符数组中,charread为一次读取字符数
while ((charread = readerread(tempchars)) != -1) {
// 同样屏蔽掉\r不显示
if ((charread == tempcharslength)
&& (tempchars[tempcharslength - 1] != '\r')) {
Systemoutprint(tempchars);
} else {
for (int i = 0; i < charread; i++) {
if (tempchars[i] == '\r') {
continue;
} else {
Systemoutprint(tempchars[i]);
}
}
}
}
} catch (Exception e1) {
e1printStackTrace();
} finally {
if (reader != null) {
try {
readerclose();
} catch (IOException e1) {
}
}
}
}
/
以行为单位读取文件,常用于读面向行的格式化文件
@param fileName
文件名
/
public static void readFileByLines(String fileName) {
File file = new File(fileName);
BufferedReader reader = null;
try {
Systemoutprintln("以行为单位读取文件内容,一次读一整行:");
reader = new BufferedReader(new FileReader(file));
String tempString = null;
int line = 1;
// 一次读入一行,直到读入null为文件结束
while ((tempString = readerreadLine()) != null) {
// 显示行号
Systemoutprintln("line " + line + ": " + tempString);
line++;
}
readerclose();
} catch (IOException e) {
eprintStackTrace();
} finally {
if (reader != null) {
try {
readerclose();
} catch (IOException e1) {
}
}
}
}
/
随机读取文件内容
@param fileName
文件名
/
public static void readFileByRandomAccess(String fileName) {
RandomAccessFile randomFile = null;
try {
Systemoutprintln("随机读取一段文件内容:");
// 打开一个随机访问文件流,按只读方式
randomFile = new RandomAccessFile(fileName, "r");
// 文件长度,字节数
long fileLength = randomFilelength();
// 读文件的起始位置
int beginIndex = (fileLength > 4) 4 : 0;
// 将读文件的开始位置移到beginIndex位置。
randomFileseek(beginIndex);
byte[] bytes = new byte[10];
int byteread = 0;
// 一次读10个字节,如果文件内容不足10个字节,则读剩下的字节。
// 将一次读取的字节数赋给byteread
while ((byteread = randomFileread(bytes)) != -1) {
Systemoutwrite(bytes, 0, byteread);
}
} catch (IOException e) {
eprintStackTrace();
} finally {
if (randomFile != null) {
try {
randomFileclose();
} catch (IOException e1) {
}
}
}
}
/
显示输入流中还剩的字节数
@param in
/
private static void showAvailableBytes(InputStream in) {
try {
Systemoutprintln("当前字节输入流中的字节数为:" + inavailable());
} catch (IOException e) {
eprintStackTrace();
}
}
public static void main(String[] args) {
String fileName = "C:/temp/newTemptxt";
ReadFromFilereadFileByBytes(fileName);
ReadFromFilereadFileByChars(fileName);
ReadFromFilereadFileByLines(fileName);
ReadFromFilereadFileByRandomAccess(fileName);
}
}
使用fopen函数能够读取目录下的txt。
1fopen的函数原型:FILE fopen(const char path,const char mode);
fopen函数的第一个参数是文件路径,第二个参数是打开方式,有以下几种方式:
r 以只读方式打开文件,该文件必须存在。
r+ 以可读写方式打开文件,该文件必须存在。
rb+ 读写打开一个二进制文件,允许读数据。
rw+ 读写打开一个文本文件,允许读和写。
w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)
wb 只写打开或新建一个二进制文件;只允许写数据。
wb+ 读写打开或建立一个二进制文件,允许读和写。
wt+ 读写打开或着建立一个文本文件;允许读写。
at+ 读写打开一个文本文件,允许读或在文本末追加数据。
ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。
上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。
返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno中。
2例程:
#define F_PATH "d:\\myfile\\filetxt"
char c;
int main(){
FILEfp=NULL;//需要注意
fp=fopen(F_PATH,"r");
if(NULL==fp) return -1;//要返回错误代码
while(fscanf(fp,"%c",&c)!=EOF) printf("%c",c); //从文本中读入并在控制台打印出来
fclose(fp);
fp=NULL;//需要指向空,否则会指向原打开文件地址
return 0;
}一般安卓手机都带有文档管理,点开进入目录就可以 如果不提供这样的服务,你安装豌豆荚连接电脑(记得开启usb调试,开启方法baidu搜索对应的机型),可以从电脑的豌豆荚客户端看到。 如果豌豆荚无效,就先root吧,下载root大师之类的一般来说php中读取目录下的文件名的方式确实不少,最简单的是scandir,具体代码如下:\x0d\复制代码 代码如下:$dir="/caxa/";\x0d\$file=scandir($dir);\x0d\print_r($file);\x0d\稍微复杂点的,来自于php手册:\x0d\复制代码 代码如下:$dir = "/etc/php5/";\x0d\// Open a known directory, and proceed to read its contents\x0d\if (is_dir($dir)) {\x0d\if ($dh = opendir($dir)) {\x0d\while (($file = readdir($dh)) !== false) {\x0d\echo "filename: $file : filetype: " filetype($dir $file) "\n";\x0d\} closedir($dh);\x0d\}\x0d\}\x0d\这些都只能读取当前指定目录下的文件,对子目录中的文件则无法读取。原来自己写过一个循环删除所有目录的一段代码,需要逐个子目录删除所有文件,包括多层。但是只需要读出文件名,稍微复杂点,网上找到一个能用,原始代码有错误提示,改了一下引用&$data的地方,如下所示:\x0d\复制代码 代码如下:function searchDir($path,&$data){\x0d\if(is_dir($path)){\x0d\$dp=dir($path);\x0d\while($file=$dp->read()){\x0d\if($file!=''&& $file!=''){\x0d\searchDir($path'/'$file,$data);\x0d\}\x0d\}\x0d\$dp->close();\x0d\}\x0d\if(is_file($path)){\x0d\$data[]=$path;\x0d\}\x0d\}\x0d\function getDir($dir){\x0d\$data=array();\x0d\searchDir($dir,$data);\x0d\return $data;\x0d\}\x0d\print_r(getDir(''));\x0d\希望本文所述对大家的PHP程序设计有所帮助。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)