精华内容
下载资源
问答
  • Java File操作汇总

    千次阅读 2014-11-21 21:11:48
    本文通过大量的示例,介绍和讲解了Java File操作。 1)创建文件 2)删除文件 3)判断文件是否存在 4)创建文件夹 5)文件类型判断 6)获取文件信息 7)获取目录下文件名 8)递归打印所有文件名 9)递归删除整个...

    本文通过大量的示例,介绍和讲解了Java File操作。

    1)创建文件  2)删除文件  3)判断文件是否存在  4)创建文件夹  5)文件类型判断  6)获取文件信息

    7)获取目录下文件名  8)递归打印所有文件名  9)递归删除整个文件夹  10)Properties类

    11)SequenceInputStream类:连接多个流  12)对象序列化实现Serializable接口  13)管道流

    14)RandomAccessFile类   15)DataStream类  16)ByteArrayStream类


    1、创建文件

    1)boolean java.io.File.createNewFile() throws IOException用来创建文件,如果文件存在,创建失败,返回false;

    2)new File("a.txt");并不创建文件实体,只是创建一个指向“a.txt”的引用。

    3)路径分隔符:File.separator

    package file.dol.sn;
    
    import java.io.File;
    
    public class FileDemo {
    
    	public static void main(String[] args) {
    		//new File()就相当于是C语言中定义一个指向“a.txt”的文件指针
    		File f1 = new File("a.txt");
    		try 
    		{
    			//创建文件:boolean java.io.File.createNewFile() throws IOException
    			boolean b = f1.createNewFile();
    			//第二次将会创建失败false,这里和流不一样
    			System.out.println(b);
    		} 
    		catch (Exception e) 
    		{
    			// TODO: handle exception
    		}
    		//目录分隔符:File.separator,相当于“\\”跨平台。
    		//File f2 = new File("E:\\tmp","b.txt");
    		File f2 = new File("E:"+File.separator+"tmp","b.txt");
    		System.out.println(f2);
    	}
    }
    
    2、删除文件

    1)delete():删除文件成功返回true,删除失败返回false( boolean java.io.File.delete()  )

    2)deleteOnExit():程序退出时,自动删除文件。一般用于对程序创建的临时文件进行操作,退出时删除。( void java.io.File.deleteOnExit()  )

    package file.dol.sn;
    
    import java.io.File;
    
    public class FileDemo {
    
    	public static void main(String[] args) {
    
    		File f1 = new File("a.txt");
    		try 
    		{
    			boolean b = f1.createNewFile();
    			//删除文件:boolean java.io.File.delete()
    			f1.delete();
    			//程序退出时,自动删除:void java.io.File.deleteOnExit()
    			//f1.deleteOnExit();
    		} 
    		catch (Exception e) 
    		{
    			// TODO: handle exception
    		}
    	}
    }
    3、判断文件是否存在

    exists():判断文件是否存在( boolean java.io.File.exists() )

    package file.dol.sn;
    
    import java.io.File;
    
    public class FileDemo {
    
    	public static void main(String[] args) {
    
    		File f1 = new File("not.txt");
    		//判断文件是否存在:boolean java.io.File.exists()
    		boolean b = f1.exists();
    		System.out.println(b);
    	}
    }
    4、创建文件夹

    1)mkdir():只能创建“一级目录”(boolean java.io.File.mkdir());

    2)mkdirs():可以创建多级目录(boolean java.io.File.mkdirs())。

    package file.dol.sn;
    
    import java.io.File;
    
    public class FileDemo {
    
    	public static void main(String[] args) {
    
    		File dir1 = new File("abc");
    		File dir2 = new File("a\\b\\c\\d");
    		try 
    		{
    			//创建文件目录(即文件夹):boolean java.io.File.mkdir()
    			//该方法只能创建“一级”目录
    			boolean b =  dir1.mkdir();
    			System.out.println(b);
    			//创建多级文件夹:boolean java.io.File.mkdirs()
    			b =  dir2.mkdirs();
    			System.out.println(b);
    		} 
    		catch (Exception e) 
    		{
    			System.out.println(e.toString());
    		}
    	}
    }
    5、文件类型判断

    1)exists():判断文件是否存在,注意:一定要先判断这个;

    2)isDirectory():判断是否为文件夹;

    3)isFile():判断是否为文件;

    4)isHidden():判断是否为隐藏文件;

    5)isAbsolute():判断是否为绝对路径,这里不管文件是否存在都能判断。

    package file.dol.sn;
    
    import java.io.File;
    
    public class FileDemo {
    
    	public static void main(String[] args) {
    
    		File f = new File("C:\\abc.txt");
    		try 
    		{
    			//判断文件是否存在
    			if (f.exists())
    			{
    				//判断文件是否是文件夹
    				if (f.isDirectory())
    				{
    					System.out.println("文件夹");
    				}
    				//判断文件是否是文件
    				if (f.isFile())
    				{
    					System.out.println("文件");
    				}
    				//判断是否为隐藏文件
    				if (f.isHidden())
    				{
    					System.out.println("隐藏文件");
    				}
    			}
    			else 
    			{
    				System.out.println("文件不存在");
    			}
    			//判断是否为绝对路径,不管文件是否存在
    			if (f.isAbsolute())
    			{
    				System.out.println("是绝对路径");
    			}
    		} 
    		catch (Exception e) 
    		{
    			System.out.println(e.toString());
    		}
    	}
    }

    6、获取文件信息

    1)getName():获取文件名;

    2)getParent():获取文件父目录;

    3)getPath():获取文件路径;

    4)getAbsolutePath():获取文件绝对路径;

    5)lastModified():获得文件最后一次被修改的时间;

    6)length():获取文件大小;

    7)renameTo():文件剪切,将文件f1剪切然后粘贴到f2(相当于右键f1->剪切->粘贴->f2所在目录)

    package file.dol.sn;
    
    import java.io.File;
    
    public class FileDemo {
    
    	public static void main(String[] args) {
    
    		File f1 = new File("abc.txt");
    		File f2 = new File("E:\\Java\\test.txt");
    		try 
    		{
    			//获得文件名
    			System.out.println(f1.getName());
    			//获得绝对路径中的父目录,如:File("abc.txt")则该返回为null
    			System.out.println(f1.getParent());
    			//获得相对路径
    			System.out.println(f1.getPath());
    			//获得绝对路径
    			System.out.println(f1.getAbsolutePath());
    			//获得文件最后一次被修改的时间
    			System.out.println(f1.lastModified());
    			//获得文件大小
    			System.out.println(f1.length());
    			//文件剪切,将文件f1剪切然后粘贴到f2(相当于右键f1->剪切->粘贴->f2所在目录)
    			f1.renameTo(f2);
    		} 
    		catch (Exception e) 
    		{
    			System.out.println(e.toString());
    		}
    	}
    }
    7、获取目录下文件名

    1)listRoots():获取系统盘符;

    2)list():获取“X:\\”目录下的所有文件名,包括隐藏文件和文件夹(调用list()方法时,必须先封装一个目录,且必须存在的目录。)

    3)list(FilenameFilter filter):列出文件名的时候,可以进行过滤操作(如:列出后缀名为.txt的文件)。

    4)listFiles():列出目录下文件名,不包括文件夹。

    package file.dol.sn;
    
    import java.io.File;
    import java.io.FilenameFilter;
    
    public class FileDemo {
    
    	public static void main(String[] args) {
    		//1.获得系统有效盘符
    		File[] files = File.listRoots();
    		for (File f : files)
    			System.out.println(f.toString());
    		System.out.println("——————————————————————");
    		//2.获得C:\\目录下的所有文件名,包括隐藏文件和文件夹
    		//调用list()方法时,必须先封装一个目录,且必须存在的目录。
    		File fnFile = new File("C:\\");
    		String[] strings = fnFile.list();
    		for (String s : strings)
    			System.out.println(s);
    		System.out.println("——————————————————————");
    		//3.调用list()方法,列出后缀名为.txt的文件
    		strings = fnFile.list(new FilenameFilter() {
    			
    			@Override
    			public boolean accept(File dir, String name) {
    				//找出后缀名为.txt的文件名
    				return name.endsWith(".txt");
    			}
    		});
    		for (String s : strings)
    			System.out.println(s);
    		System.out.println("——————————————————————");
    		//4.获取C:\\目录下的文件夹,不包括文件夹
    		files = fnFile.listFiles();
    		for (File f : files)
    			System.out.println(f.toString());
    	}
    }
    8、递归打印所有文件名

    注意:测试中,有些隐藏文件名不能访问还是其他的原因,当在打印根目录(如:"C:\\")下的所有文件名时,会有个叫“System Volume Information”的隐藏文件夹,访问失败,所以以下代码中,不访问隐藏文件。

    package file.dol.sn;
    
    import java.io.File;
    
    public class FileDemo {
    
    	public static void main(String[] args) {
    
    		File dirFile = new File("E:\\Dol");
    		showDir(dirFile,0);
    	}
    	public static void showDir(File dir,int level)
    	{
    		System.out.println(printSpace(level)+"文件夹:"+dir.getName());
    		level += 4;
    		File[] file = dir.listFiles();
    		for (File f : file)
    		{
    			//递归进入所有非隐藏文件夹
    			if (f.isDirectory() && !f.isHidden())
    				showDir(f,level);
    			//打印文件名
    			else
    				System.out.println(printSpace(level)+f.getName());
    		}
    	}
    	//实现分层次打印,补充空格
    	public static StringBuffer printSpace(int level)
    	{
    		StringBuffer space = new StringBuffer();
    		for (int i = 0; i < level; ++i)
    		{
    			space.append("  ");
    		}
    		return space;
    	}
    }

    9、递归删除整个文件夹

    package file.dol.sn;
    
    import java.io.File;
    
    public class FileDemo {
    
    	public static void main(String[] args) {
    
    		File dirFile = new File("E:\\Dol");
    		deleteDir(dirFile,0);
    	}
    	public static void deleteDir(File dir,int level)
    	{
    		File[] file = dir.listFiles();
    		//循环递归删除文件夹里面的所有内容
    		for (File f : file)
    		{
    			//递归进入所有非隐藏文件夹
    			if (f.isDirectory() && !f.isHidden())
    				deleteDir(f,level);
    			//删除文件
    			else
    			{
    				f.delete();
    				System.out.println(f.getName()+"——已删除");
    			}
    		}
    		//删除该文件夹
    		dir.delete();
    		System.out.println(dir.getName()+"——已删除");
    	}
    }

    10、Properties类

    1)常用的基本操作,设置键值,获取值。

    package file.dol.sn;
    
    import java.util.Properties;
    import java.util.Set;
    
    public class FileDemo {
    
    	public static void main(String[] args) {
    		//Properties是HashTable的子类,里面存放的都是键值对的字符串
    		Properties prop = new Properties();
    		//设置键值
    		prop.setProperty("Dolphin", "海豚");
    		prop.setProperty("Dol", "CSDN");
    		//获取
    		String value = prop.getProperty("Dolphin");
    		System.out.println("@@@@value@@@@"+value);
    		
    		//返回一个集合
    		Set<String> nameSet = prop.stringPropertyNames();
    		for (String s : nameSet)
    		{
    			System.out.println(s+":"+prop.getProperty(s));
    		}
    	}
    }
    
    2)读取配置文件

    读取配置文件,并对配置文件进行修改,修改后再保存。

    package file.dol.sn;
    
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.util.Properties;
    
    public class FileDemo {
    
    	public static void main(String[] args) throws IOException{
    
    		Properties prop = new Properties();
    		//Properties加载的文件必须为键值对,#注释的不会被加载
    		FileInputStream fis = new FileInputStream("pz.txt");
    		prop.load(fis);
    		//添加一个键值对
    		prop.setProperty("Dol", "123");
    		//对键值对进行修改
    		prop.setProperty("Dol", "321");
    		FileOutputStream fos = new FileOutputStream("pz.txt");
    		//保存配置文件
    		//void java.util.Properties.store(OutputStream arg0, String arg1) throws IOException
    		//第二个参数为注释,可写可不写,写入时会自动添加#
    		prop.store(fos, "comment");
    		
    		prop.list(System.out);
    		fis.close();
    		fos.close();
    	}
    }
    

    11、SequenceInputStream类:连接多个流

    说明:Enumeration(列举)
    public interface Enumeration<E>实现 Enumeration 接口的对象,它生成一系列元素,一次生成一个。连续调用 nextElement 方法将返回一系列的连续元素。
    例如,要输出 Vector<E> v 的所有元素,可使用以下方法:
    for (Enumeration<E> e = v.elements(); e.hasMoreElements();)
    System.out.println(e.nextElement());
    这些方法主要通过向量的元素、哈希表的键以及哈希表中的值进行枚举。枚举也用于将输入流指定到 SequenceInputStream 中。
    注:此接口的功能与 Iterator 接口的功能是重复的。此外,Iterator 接口添加了一个可选的移除操作,并使用较短的方法名。新的实现应该优先考虑使用 Iterator 接口而不是 Enumeration 接口。
    有两个方法:
    hasMoreElements() 测试此枚举是否包含更多的元素。
    nextElement() 如果此枚举对象至少还有一个可提供的元素,则返回此枚举的下一个元素。

    package file.dol.sn;
    
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.SequenceInputStream;
    import java.util.Enumeration;
    import java.util.Vector;
    
    public class FileDemo {
    
    	public static void main(String[] args) throws IOException {
    
    		//将多个流加入集合
    		Vector<FileInputStream> vector = new Vector<FileInputStream>();
    		vector.add(new FileInputStream("E:\\1.txt"));
    		vector.add(new FileInputStream("E:\\2.txt"));
    		vector.add(new FileInputStream("E:\\3.txt"));
    
    		//java.util.Enumeration<FileInputStream>用法见说明
    		Enumeration<FileInputStream> en = vector.elements();
    		//连接多个流
    		SequenceInputStream sis = new SequenceInputStream(en);
    		//启动输出流
    		FileOutputStream fos = new FileOutputStream("E:\\4.txt");
    		//开始文件拷贝
    		byte[] buf = new byte[1024];
    		int len = 0;
    		while ((len=sis.read(buf))!=-1)
    			fos.write(buf,0,len);
    		//关闭资源
    		fos.close();
    		sis.close();
    	}
    }

    12、对象序列化实现Serializable接口

    1)添加序列号;

    2)静态成员变量不可序列化;

    3)堆内存变量要想不被序列化,可以加transient关键字。

    package file.dol.sn;
    
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;
    import java.io.Serializable;
    
    //序列化,必须实现Serializable接口,该接口不需要覆盖方法
    class Person implements Serializable
    {
    	//记得添加序列化号
    	public static final long serialVersionUID = 42L;
    
    	//堆内存变量可序列化
    	private String name;
    	private int age;
    	//如果不想将堆内存里面的变量序列化,如下声明就可以了
    	//transient int age;
    	//注意,静态成员变量不可序列化
    	private static String sex = "male";
    	public Person(String n, int a, String s)
    	{
    		name = n;
    		age = a;
    		sex = s;
    	}
    	//覆盖toString()方便println()打印
    	public String toString()
    	{
    		return name+":"+age+":"+sex;
    	}
    }
    public class FileDemo {
    
    	public static void WriteOut() throws IOException
    	{
    		ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("obj.txt"));
    		oos.writeObject(new Person("Dolphin", 20,"female"));
    		oos.close();
    	}
    	public static void ReadIn() throws Exception
    	{
    		ObjectInputStream ois = new ObjectInputStream(new FileInputStream("obj.txt"));
    		Person p = (Person)ois.readObject();
    		ois.close();
    		System.out.println(p);
    	}
    	//这里直接抛出一个较大的异常Exception(IOException的基类)
    	public static void main(String[] args) throws Exception {
    		//注意:以下函数需要分两次运行,每次只运行一个,方便观察运行效果
    		//WriteOut();
    		ReadIn();
    	}
    }

    13、管道流

    1)平时两个流读写都是通过内存变量,进行数据操作的;

    2)这里引入管道流,开启两个线程,一个读取流,一个写入流,直接将两个流对接上。

    package io.dol.sn;
    
    import java.io.PipedInputStream;
    import java.io.PipedOutputStream;
    //实现Runnable方法,多线程
    class Read implements Runnable
    {
    	private PipedInputStream in;
    	public Read(PipedInputStream in) 
    	{
    		this.in = in;
    	}
    	public void run() 
    	{
    		try {
    			byte[] buf = new byte[1024];
    			int len = 0;
    			//如果流中无数据,read()进入等待状态
    			while ((len=in.read(buf))!=-1)
    			{
    				System.out.println(buf);
    			}
    			in.close();
    		} catch (Exception e) {
    			throw new RuntimeException("管道流读取失败");
    		}
    	}
    }
    
    class Write implements Runnable
    {
    	private PipedOutputStream out;
    	public Write(PipedOutputStream in) 
    	{
    		this.out = out;
    	}
    	public void run() 
    	{
    		try {
    			out.write("Piped lai la...".getBytes());
    			out.close();
    		} catch (Exception e) {
    			throw new RuntimeException("管道流输出失败");
    		}	
    	}
    }
    
    public class PipedStreamDemo {
    
    	public static void main(String[] args) {
    		
    		PipedInputStream in = new PipedInputStream();
    		PipedOutputStream out = new PipedOutputStream();
    		
    		Read r = new Read(in);
    		Write w = new Write(out);
    		//开启两线程
    		new Thread(r).start();
    		new Thread(w).start();
    	}
    }
    

    14、RandomAccessFile类

    package io.dol.sn;
    
    import java.io.IOException;
    import java.io.RandomAccessFile;
    
    public class RafDemo {
    
    	public static void Read() throws IOException
    	{
    		RandomAccessFile raf = new RandomAccessFile("raf.txt", "rw");
    		byte[] buf= new byte[4];
    		raf.read(buf);
    		String name = new String(buf);
    		int age;
    		age = raf.readInt();
    		
    		raf.close();
    		
    		System.out.println("网名:"+name);
    		System.out.println("年龄:"+age);
    	}
    	public static void Write() throws IOException
    	{
    		RandomAccessFile raf = new RandomAccessFile("raf.txt", "rw");
    		raf.write("海豚".getBytes());
    		raf.writeInt(20);
    		raf.close();
    	}
    	public static void main(String[] args) throws IOException {
    		
    		Write();
    		Read();
    		//调整指针位置
    		//raf.seek(pos);
    		//跳过字节数
    		//raf.skipBytes(n);
    	}
    }
    

    15、DataStream类

    package io.dol.sn;
    
    import java.io.DataInputStream;
    import java.io.DataOutputStream;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    public class DataStreamDemo {
    
    	public static void main(String[] args) throws IOException {
    		//写数据
    		DataOutputStream out = new DataOutputStream(new FileOutputStream("data.txt"));
    		
    		out.writeInt(123);
    		out.writeDouble(56.88);
    		out.writeBoolean(true);
    		out.close();
    		//读数据
    		DataInputStream in = new DataInputStream(new FileInputStream("data.txt"));
    		int nInt = in.readInt();
    		double nDou = in.readDouble();
    		boolean b = in.readBoolean();
    		in.close();
    		//显示
    		System.out.println("nInt:"+nInt);
    		System.out.println("nDou:"+nDou);
    		System.out.println("b:"+b);
    	}
    }

    16、ByteArrayStream类

    package io.dol.sn;
    
    import java.io.ByteArrayInputStream;
    import java.io.ByteArrayOutputStream;
    
    import javax.print.attribute.standard.Sides;
    
    public class ByteArrayStreamDemo {
    
    	public static void main(String[] args) {
    
    		ByteArrayInputStream in = new ByteArrayInputStream("Dolphin".getBytes());
    		ByteArrayOutputStream out = new ByteArrayOutputStream();
    		
    		int len = 0;
    		// int java.io.ByteArrayInputStream.read() 从此输入流中读取下一个数据字节
    		while ((len=in.read())!=-1)
    		{
    			out.write(len);
    		}
    		System.out.println(out.size());
    	}
    }
    


    展开全文
  • java File 的相对路径

    千次阅读 2015-08-11 16:04:07
    java File 的相对路径
    package test;
    
    import java.io.File;
    
    public class testfilepath {
    	public static void main(String[] args) {
    		File file = new File("src/test2/tt.java");
    		System.out.println(file.exists());
    	}
    }
    输出的是:true
    从这里可以看出文件的相对路径是从项目名开始的额.
    刚刚写程序时发现的,因为当时我想的是File的相对的是当前的java 类,没有想到文件相对路径是可以从项目的路径,所以一直找不到文件的路径。
    
    展开全文
  • java File_encoding属性

    万次阅读 2014-07-12 00:02:44
    java file.encoding
    今天给客户发版本,突然发现报表导出内容为空,大小0字节.感到非常奇怪,因为开发的时候都好好的,打包出来怎么会出现异常. 细看才后发现是 file_encoding这个java系统属性编码方式设置导致的. 开发的时候一般我们都在eclipse中把项目的 text file  encoding 这个属性设置为utf-8. 如图:
    


    开发完,脱离eclipse之后我们同样需要指定该编码方式去执行java程序, 否则 当你输出System.getProperty("file.encoding")这个属性的时候,得到的结果就是系统默认的编码方式,

    windows下一般是GBK. 指定编码方式也很简单,  java  -Dfile.encoding=utf-8   xxxx (需要执行的class文件)

    下面来看下 file.encoding 这个属性的英文解释.

    This property is used for the default encoding in Java, all readers and writers would default to use this property. “file.encoding” is set to the default locale of Windows operationg system since Java 1.4.2. System.getProperty(“file.encoding”) can be used to access this property. Code such as System.setProperty(“file.encoding”, “UTF-8”) can be used to change this property. However, the default encoding can not be changed dynamically even this property can be changed. So the conclusion is that the default encoding can’t be changed after JVM starts. “java -Dfile.encoding=UTF-8” can be used to set the default encoding when starting a JVM. I have searched for this option Java official documentation. But I can’t find it.


    大致的意思主要下面几点:

    1. java内所有的reader和 writer操作默认都是用 file.encoding这个系统属性作为编码方式的,看代码:

    		//way1
    		String html1="<html>...</html>";
    		FileWriter writer1=new FileWriter(new File("C:\\xxxx.html"));
    		writer1.write(html1);
    		writer1.close();
    		
    		//way2
    		String html2="<html>...</html>";
    		OutputStreamWriter writer2=new OutputStreamWriter(new FileOutputStream
    				(new File("C:\\xxxx.html")),"utf-8");
    		writer2.write(html2);
    		writer2.close();



    第一种方法默认会用 file.encoding 这个属性对文件进行编码,然后输出.一旦你执行class文件的时候没有指定该属性, 默认就会用操作系统本身编码方式,如gbk等.

    第二种方式指定了文件编码方式,并输出.

    偶项目中的遇到异常就是由第一种方法导致的,刚开始我用第二种方式去解决的,但是这只能解决这一地方,其他没发现的就不好解决了. 更好的解决,看注意点2.

    2.JVM启动之前如果未指定file.encoding这个属性,这个属性就会默认为操作系统编码方式, JVM启动如果指定了file.encoding这个属性,整个项目都会用这个属性

    作为reader和writer操作的默认编码方式.

    so,解决问题最好的方式就是在启动项目时就知道file.encoding这个属性,后续的读写操作没有特殊编码需要的划,都可以继承过来使用.




    展开全文
  • 背景介绍 开发环境:IntelliJ IDEA COMMUNITY 2019.2 创建名称为 HelloWorld 的 Java 文件时出现以下错误: ...Error message: Selected Class file name 'HelloWorld.Java'mapped to not java file type...

    背景介绍

    开发环境:IntelliJ IDEA COMMUNITY 2019.2

    创建名称为 HelloWorld 的 Java 文件时出现以下错误:

    Unable to parse template "Class"
    
    Error message: Selected Class file name 'HelloWorld.Java' mapped to not java file type 'Text'.

     

    解决方案

    出现这个问题时因为包含的资源包“sun.jvm.hotspot.HelloWorld;”已经有HelloWorld的类,所以IntelliJ IDEA COMMUNITY 2019.2自动判定为非法Java文件而转成Text文件进行创建。建议将 HelloWorld的第一个字母改成小写 helloWorld

     

     

     

     

    展开全文
  • Java File文件操作

    万次阅读 多人点赞 2016-05-21 20:35:57
    Java提供File类,让我们对文件进行操作,简单整理了一下File类的用法。 1.基本概念File:文件和目录路径名的抽象表示形式,代表文件或者文件夹。 2.构造方法 // 根据parent抽象路径名和child路径名字符串创建一个新...
  • Java File库createNewFile用法

    万次阅读 2018-01-12 16:58:31
    本篇博客详解Java.io.File类库中的createNewFile()方法 public class CreateNewFileTest { public staticvoid main(String[] args) { File f = null; boolean bool = false; try { f =new File("study....
  • java File 转 MultipartFile

    千次阅读 2019-06-17 17:36:51
    直接上代码 # localAddress 为文件路径 例如 “/test/myNote/test.pdf ...File pdfFile = new File(localAddress); FileInputStream inputStream = new FileInputStream(pdfFile); MultipartFile multipart...
  • JAVA file.createNewFile()文件名、目录名或卷标语法不正确。
  • 在学习springmvc时遇到的坑,Tomcat6.0 不支持jdk1.8.。。...An error occurred at line: 1 in the generated java file 最后确认该错误原因为:tomcat6不支持jdk1.8版本 修改jdk为1.7,刷新工程...
  • java File改名和剪切

    千次阅读 2019-02-18 18:58:12
    File类下有一个renameTo()方法 File file1 = new File("xxx.txt"); File file2 = new File("ooo.txt"); file1.renameTo(fiel2); 此时file1和file2的路径相同,因此是将xxx.txt文件改名为ooo...
  • java File 在不同平台的一个差异化
  • Java File 操作在windows和linux的不同

    千次阅读 2014-01-13 18:12:08
    系统中使用了java file的rename方法,相关的测试用例一直在linux平台工作的很好,可是当我把代码checkout到windows的时候发现测试失败了,仔细研究了代码,发现系统有多线程使用同一个文件,一个线程是通过系统的...
  • Java File类 mkdir 不能创建多层目录

    千次阅读 2013-10-22 18:24:51
    File f = new File("data\\" + st);  if ((!f.exists()) || (!f.isDirectory())) { boolean res = f.mkdir(); System.out.println("res:... 注意:在Java File类 的mkdir方法的实现中,不能同时创建多层目录,如果
  • 使用File.isFile()方法返回结果是false使用File.exists()方法返回结果是true也就是说如果是我们常见的普通文件,两者是没多少区别的!区别只在于特殊文件中。Use File.exists() when dealing with special files ...
  • An error occurred at line: [14] in the generated java file: HTTP Status 500 - Unable to compile class for JSP: 如果你引入的包后面加了分号,就会出现这个问题,所以要去掉分号, 能确定是 包冲突的问题,...
  • java File delete()执行失败原因

    千次阅读 2010-12-14 10:31:00
    一般来说 java file.delete失败 有以下几个原因 1.看看是否被别的进程引用,手工删除试试 2.file是文件夹 并且不为空,有别的文件夹或文件, 注意: 3.极有可能有可能自己前面没有关闭此...
  • 有乱码文件时会报JNI DETECTED ERROR IN APPLICATION: input is not valid Modified UTF-8: illegal start byte 0x94
  • Java File类(文件类)

    千次阅读 2018-06-10 13:12:46
    Java文件类以抽象的方式代表文件名和目录路径名。该类主要用于文件和目录的创建、文件的查找和文件的删除、重命名文件等。File对象代表磁盘中实际存在的文件和目录。通过以下构造方法创建一个File对象。1、通过给定...
  • Java File中renameTo的介绍和使用说明

    万次阅读 多人点赞 2017-10-26 17:03:01
    看到项目中有个地方用的File的renameTo这个方法,本以为这个方法就是用来文件重命名的,但是项目中确用它来进行文件的移动。就是使用renameTo将一个文件从一个目录移动另一个目录下!下面就简单介绍一下renameTo,并...
  • IDEA中出现java file outside of source root怎么办

    万次阅读 多人点赞 2020-10-12 20:37:35
    有时候打开idea会出现文件名左下角有个红圈的情况,下图其实只要稍微修改下就可以跑起来了 step1:点击文件下的项目结构 step2:点击左边模块 step3:右键点击文件夹,将这里的“排除的”点成“源”就可以了......
  • java file.renameTo返回false的原因记录

    千次阅读 2020-12-19 15:48:37
    需要对文件夹下的文件重命名,发现返回false了,先用main方法测试,发现没问题,... File file1 = new File("D:\\aabb.xml"); File file2 = new File("D:\\ccdd.xml"); boolean b = file1.renameTo(file2); Syste
  • java file对象获取文件大小

    万次阅读 多人点赞 2014-02-11 10:49:42
    import java.io.File; import java.text.DecimalFormat; import java.io.FileInputStream; public class GetFileSize {  public longgetFileSizes(File f) throws Exception{//取得文件大小  long s=0;  
  • An error occurred at line: 9 in the generated java file Syntax error on token ";", delete this token 原来是JSP页面中引入包的问题: 如果你引入的包后面加了分号,就会出现这个问题,所以要去掉分号。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 186,770
精华内容 74,708
关键字:

javafile

java 订阅