fileshararno such file怎么解决用

java 基本功(2)
疯狂java讲义读书笔记之File类的使用详解
File类是java io包下代表与平台无关的文件和目录,也就是说,如果希望在程序中操作文件和目录,都可以通过File类来完成。File不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。
File类的一下常用方法和说明
1.访问文件名相关方法:
String getName(); 返回此File对象所表示的文件名和路径名(如果是路径,则返回最后一级子路径名)。
String getPath(); 返回此File对象所对应的路径名。
File getAbsolutePath(); 返回此File对象所对应的绝对路径名。
String getParent(); 返回此File对象所对应目录(最后一级子目录)的父路径名。
boolean renameTo(File newName); 重命名此File对象所对应的文件或目录,如果重命名成功,则返回true:否则返回false.
2.文件检测相关方法
boolean exists(); 判断File对象所对应的文件或目录是否存在。
boolean canWrite(); 判断File对象所对应的目录或文件是否可写。
boolean canRead(); 判断File对象所对应的目录或文件是否可读。
boolean isFile(); 判断File对象所对应的是否是文件,而不是目录。
boolean isDirectory(); 判断File对象所对应的是否是目录,而不是文件。
boolean isAbsolute();
判断File对象所对应的文件或目录是否是绝对路径。该方法消除了不同平台的差异,可以直接判断File对象是否为绝对路径。在UNIX/Linux/BSD等系统上,如果路径名开头是一条斜线(/),则表明该File对象对应一个绝对路径;在Windows等系统上,如果路径开头是盘符,则说明它是绝对路径。
3.获取常规文件信息
long lastModified(); 返回文件最后修改时间。
long length();
返回文件内容的长度。
4.文件操作相关的方法
boolean createNewFile(); 当此File对象所对应的文件不存在时,该方法将新建的一个该File对象所指定的新文件,如果创建成功则返回true;否则返回false.
boolean delete(); 删除File对象所对应的文件或路径。
static File CreateTempFile(String prefix,String suffix);在默认的临时文件目录创建一个临时空文件,使用给定前缀、系统生成的随机数和给定后缀作为文件名。这是一个静态方法,可以直接通过File来调用。preFix参数必须至少是3个字节长。建议前缀使用一个短的、有意义的字符串。建议前缀使用一个短的、有意义的字符串,比如”hjb“ 或”main”. suffix参数可以为null,在这种情况下,将使用默认的后缀”.tmp”.
static File CreateTempFile(String prefix,String suffix,File directory);在directory所指定的目录中创建一个临时空文件,使用给定前缀、系统生成的随机数和给定后缀作为文件名。这是一个静态方法,可以直接通过File来调用。
void deleteOnExit(); 注册一个删除钩子,指定当Java虚拟机退出时,删除File对象随对应的文件和目录。
5.目录操作相关方法
boolean mkdir(); 试图创建一个File对象所对应的目录,如果创建成功,则返回否则返回false. 调用该方法时File对象必须对应一个路径,而不是一个文件。
String[] list(); 列出File对象的所有子文件名和路径名,返回String数组。
File[] listFiles(); 列出File对象的所有子文件和路径,返回File数组。
static File[] listRoots(); 列出系统所有的根路径。这是一个静态方法,可以直接通过File类来调用。
文件过滤器
在File类的list()方法中可以接收一个FilenameFilter参数,通过该参数可以只列出符号条件的文件。
代码示例:
static void main(String[] args)throws IOException {
File file=new File(".");
String[] nameList=file.list(new myFileFilter());
for (String name:nameList){
System.out.print(name+"\r\n");
public static
class myFileFilter implements FilenameFilter{
public boolean accept(File dir, String name) {
//如果文件名称以.java为结尾,或文件对应一个路径,则返回true
name.endsWith(".java")||new File(name).isDirectory();
实现accept()方法就是指定自己的规则,指定哪些文件应该有list()方法列出。
运行上面的程序,将看到当前路径下所有的*.java文件以及文件夹被列出。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:2570次
排名:千里之外
(4)(1)(1)(1)Java File类的功能非常强大,利用java基本上可以对文件进行所有操作。文本将对Java File 文件操作的类详细的分析,并将File类中的常用方法进行简单介绍。
public class FileDemo {
public static void main(String[] args) {
//构造函数File(String pathname)
File f1 = new File("D:\\a\\1.txt");
//File(String parent,String child)
File f2 = new File("D:\\a", "2.txt");
//File(File parent,String child)
File f3 = new File("D:"+File.separator+"a");
File f4 = new File(f3,"3.txt");
System.out.println(f1);
 创建方法
createNewFile() 不存在就返回true;存在返回false
2 boolean mkdir()
3 boolean mkdirs()
创建多级目录
 删除方法
1 &boolean delete()
2 boolean deleteOnExit()文件使用后删除
public class FileDemo {
public static void main(String[] args) {
File f = new File("D:\\1.txt");
System.out.println(f.createNewFile());
System.out.println(f.delete());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
  判断方法
  1 boolean canExecute() &判断文件是否可以执行
  2 boolean canRead() 判断文件是否可读
  3&boolean canWrite() 判断文件是否可写
  4&boolean exist() 判断文件是否存在
  5&boolean isDirectory() 判断文件是目录
  6&boolean isFile() 判断是否是文件
  7&boolean canHidden() 判断文件是否可见
  8&boolean isAbsolute() 判断文件是否是绝对路劲 ,文件不存在也能判断
&1.String getName()&2.String getPath()&3.String getAbsolutePath()&4.String getParent()//如果没有父目录返回null&5.long lastModified()//获取最后一次修改的时间&6.long length()&7.boolean renameTo(File f)&8.File[] liseRoots()//获取机器盘符9.String[] list()10.String[] list(FilenameFilter filter)
&列出磁盘下的文件和文件夹
public class FileDemo3 {
public static void main(String[] args){
File[] files =File.listRoots();
for(File file:files){
System.out.println(file);
if(file.length()&0){
String[] filenames =file.list();
for(String filename:filenames){
System.out.println(filename);
public class FileDemo4 {
public static void main(String[] args){
File[] files =File.listRoots();
for(File file:files){
System.out.println(file);
if(file.length()&0){
String[] filenames =file.list(new FilenameFilter(){
//file 过滤目录 name 文件名
public boolean accept(File file,String filename){
return filename.endsWith(".mp3");
for(String filename:filenames){
System.out.println(filename);
&利用递归列出所有文件
public class FileDemo5 {
public static void main(String[] args){
File f =new File("e:\\音?");
showDir(f);
public static void showDir(File dir){
System.out.println(dir);
File[] files =dir.listFiles();
for(File file:files){
if(file.isDirectory())
showDir(file);
System.out.println(file);
public class Test5 {
public static void main(String[] args){
File f1 = new File("d:\\");
moveFile(f1);
public static void moveFile(File dir){
File[] files=dir.listFiles();
for(File file:files){
if(file.isDirectory())
moveFile(file);
if(file.getName().endsWith(".java"))
file.renameTo(new File("c:\\jad\\"+
file.getName().substring(0,file.getName().lastIndexOf('.'))+".jad"));
阅读(...) 评论()Android中文件类File的详细使用说明 - 阿弥陀佛 - ITeye技术网站
博客分类:
package com.mzh.
import java.io.F
import java.io.IOE
import android.app.A
import android.os.B
import android.os.E
* @Title: FileTestActivity.java
* @Package com.mzh.www
* @Description: 文件类File的常用方法
* @author MZH
* @version V2.2
public class FileTestActivity extends Activity {
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//小马写的时候不带后缀名,其实这个要写的
//而且安卓中不建议用此种写法,支持使用Environment获取路径
String path = "/sdcard/fileName";
File file = new File(path); //不多讲
//下面是File类的一些静态属性
小马以前喜欢用"/",虽然不错,但不支持,接着看下面
//举两种 写法:
String path2 = Environment.getExternalStorageDirectory()
.getPath()
+"/"+"XiaoMa.txt";
File fileName = new File(path2);
//此处可以添加对文件的操作,IO流
String path3 = Environment.getExternalStorageDirectory()
.getPath()
+File.separator+"XiaoMa.txt";
File fileNam = new File(path3);
//此处可以添加对文件的操作,IO流
* 大家是不是发现这两种写法第二种多此一举?其实并非如此的
*,在Android中,官方鼓励支持使用
* File.separator来插入"/"符号
* 因为:不同的机型配置系统等各种因素下,"/"符号的转义字符也会不同*
*,所以为保险起见,
* 建议朋友们使用File.separator来区别
//下面讲下文件的创建是怎么一回事
//Android 中创建文件的方式有很多种,小马现在讲下
//我们经常用到的几种哦,吼吼
File file3 = new File("path"); //path为要创建文件的路径
//,相关路径可查看API
//创建一个临时文件
//小马讲下,如果让我们自己创建临时文件时,我们还得拼接文件名
//,Android为我们提供了更快捷的方式
//prefix代表:文件名前缀,suffix代表:生成临时文件的格式,
//如:.txt .amr .jpg .png等等
//此处小马未指定路径,它会默认创建在SD卡根目录下
File tempFile = File.createTempFile("前缀", "格式"); //记得加入try语句块中
//如果想要指定路径,则可以这样写
File tempFile2
= File.createTempFile("前缀", "格式",new File("指定临时文件路径"));
} catch (IOException e) {
e.printStackTrace();
//创建文件的方式有三种:要看仔细咯
File file2 = new File(path3);
//因为路径是自己指定的,
//在此小马就直接合上面定义过的路径了
if(!file2.exists()){
//方式一:
file2.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
//方式二:
//file2.mkdir();
//方式三:
//file2.mkdirs();
* 以上创建文件方式好像也没多大不同之处,小马的的错误,
*创建文件的时候随便调用这三个方法其中之一
* 但后来发现还是有明显区别的,现在贴一段官方API说明
*,小马英语也不咋的,希望英语一般的朋友们
* 看到英语不要怕自己不会翻译什么的,多查单词,
*不会的再求助工作翻译下,查可以提高自己的英语能力
* 小述:讲下“/”与“\”的不同,在创建文件时不能使用使用windows方式,
*也就是"\",除非你转义有linux方式的话就直接用“/”,省了麻烦,
*还不会出错转义错误等问题,对吧?
* createNewFile()
Creates a new, empty file on the file system according to the path information
stored in this file.
这个方法指在指定路径下创建一个empty(空的,小马就认识几个单词,
*其余的都有道查)文件
Creates the directory named by the trailing filename of
this file.
这个方法指:创建一个指定目录下的文件,但这个方法不能创建多个目录,
一般都使用加S的,这个尽量少用,一般私有文件
及私有目录的创建用这个方法
* mkdirs()
Creates the directory named by the trailing filename of this file,
including the complete directory path required to create this
directory.
这个方法指:创建一个指定目录下的文件,与上面不同的是,
此方法可以创建多个目录哦,常用的创建文件的方法
* 最后,讲下isDirectory() 与
isFile()的小区别
* 小马刚开始不懂什么是Directory,后来试了下,讲直接的,
就是:是否是文件夹,isFile是否是文件,简单吧??O_O
最后,不要忘记加Android中文件操作的权限:
&!--往sdcard中写入数据的权限 --&
&uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"&&/uses-permission&
&!--在sdcard中创建/删除文件的权限 --&
&uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"&&/uses-permission&
android_zhang
浏览: 281093 次
来自: 北京
大哥你太历害了谢谢
LZ,请问下,在// 添加消息到聊天窗口
, 这里获取Ed ...
怎么保持会话,我搞不懂啊
显示:[ 11:50:36 - Andro ...
哥,运行不了啊

参考资料

 

随机推荐