Java中的输入输出流

您所在的位置:网站首页 java输入十个数并输出 Java中的输入输出流

Java中的输入输出流

#Java中的输入输出流| 来源: 网络整理| 查看: 265

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