Java中的输入输出流 |
您所在的位置:网站首页 › java输入十个数并输出 › Java中的输入输出流 |
File类
File对象主要用来获取文件本身的信息 创建File对象的构造方法有三个方法 1.File(String filename) 2.File(String directoryPath,String filename) 3.File(File f,String filename) 注:filename为文件名字,daitectoryPath为文件路径,f是指定成一个目录文件 使用File(String filename)创建文件时,该文件被认为与当前应用程序在同一路径 1.文件的属性 public String getName():获取文件名字public boolean canRead():判断文件是否可读public boolean canWrite():判断文件是否可写public boolean exists():判断文件是否存在public long length():获取文件长度(单位:字节)public String getAbsolutePath():获取文件绝对路径public String getParent():获取文件父目录public boolean isFile():判断文件是否是一个普通文件public boolean isDirectory():判断文件是否是一个目录public boolean isHidden():判断是否为隐藏文件public long lastModified():获取文件最后修改时间(时间从1970年午夜至文件最后修改时刻的毫秒数)例: import java.io.File; public class Filetext { public static void main(String[] args) { File f1 = new File("F:\\瑞吉外卖\\Mavenproject\\homework\\src","Filetext.java"); System.out.println(f1.getName()+"是可读的吗?"+f1.canRead()+"可以被写入吗?"+f1.canWrite()); System.out.println(f1.getName()+"的长度"+f1.length()); System.out.println(f1.getName()+"是普通文件吗?"+f1.isFile()); System.out.println(f1.getName()+"是目录吗?"+f1.isDirectory()); System.out.println(f1.getName()+"最后修改时间"+f1.lastModified()); } } /* 运行结果: Filetext.java是可读的吗?true可以被写入吗?true Filetext.java的长度620 Filetext.java是普通文件吗?true Filetext.java是目录吗?false Filetext.java最后修改时间1680312070213 */目录 import java.io.File; import java.io.FilenameFilter; public class homework3 { public static void main(String[] args) { File dir = new File("F:\\瑞吉外卖\\Mavenproject\\homework\\src"); FileAccept fileAccept = new FileAccept(); fileAccept.setExtendName("java"); String filename[] = dir.list(fileAccept);//以字符串形式返回目录下的指定类型的所有文件 //String filename[] = dir.listFiles(fileAccept) 用File对象形式返回目录下的指定类型的所有文件 for (String name : filename) { System.out.println(name); } } } class FileAccept implements FilenameFilter { private String extendName; public void setExtendName(String s) { extendName = "." + s; } @Override public boolean accept(File dir, String name) { return name.endsWith(extendName); } }文件的创建与删除 import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; public class homework5 { public static void main(String[] args) { byte[] a="新年快乐".getBytes(); byte[] b="Happy New Year".getBytes(); File file = new File("E:\\桌面\\JAVA", "main.txt"); try { if (file.createNewFile()/*如果不存在该文件,调用createNewFile()方法进行创建*/) { System.out.println("文件创建成功"); OutputStream out = new FileOutputStream(file); out.write(a); System.out.println("a写入成功"); out=new FileOutputStream(file,true); out.write(b,0,b.length); System.out.println("b写入成功"); } System.out.println("删除文件"+file.getName()+file.delete()+"成功");//文件创建成功后运行delete()方法进行删除操作 } catch (IOException e) { System.out.println(e); } } } /* * 运行结果: * 文件创建成功 a写入成功 b写入成功 删除文件main.txtfalse成功 * */运行可执行文件 import java.io.File; public class homework4 { public static void main(String[] args) { try { Runtime ce=Runtime.getRuntime();//调用getRuntime()静态方法创建对象 File file = new File("C:\\Program Files (x86)\\Microsoft\\Edge\\Application","msedge.exe");//指定可执行文件的路径 ce.exec(file.getAbsolutePath());//打开可执行文件 } catch (Exception e) { System.out.println(e); } } } //运行结果为:打开电脑的Edge浏览器文件字节流 创建文件字节输入 输入流 FileInputStream(String name) //使用给定的文件名name创建FileInputStream对象 FileInputStream(File file) //使用File对象创建FileInputStream对象 注:当使用文件输入流构造方法建立通往文件的输入流时,可能会出现错误(即 异常)。例:试图打开的文件不存在时,需要用try...catch进行捕获 int read(byte b[]) //从文件读取b.length字节 int(byte b[],int off,int len)//读取len字节,并将读取的字节存放在数组b中,off是首字节在数组中的存放位置 输出流 FileOutputStream(String name) //使用给定的文件名name创建FileInputStream流 FileOutputStream(File file) //使用File对象创建FileInputStream流 public void write(byte b[])//写b.length字节到文件 public void write(byte b[],int off,int len)//从给定字节数组中起始偏移量off处写len字节到文件,b是存放了数据的字节数组,off为数据的起始偏移量,len为写出的字节数 注:FileOutputStream创建输出流时,可以选择是否刷新文件: FileOutputStream(String name,boolean append) FileOutputStream(File file,boolean append) 如果append取值为true,输出流不会刷新所指向的文件(假如文件已存在),输出流的write的方法将从文件的末尾开始向文件写入数据;如果append取值为false,输出流将刷新所指向的文件(假如文件已存在,使得文件长度为0) 使用输入输出流最后要记得关闭,通过调用close()方法。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |