Java_19 文件输入/输出流

来源:互联网 发布:个人网络循环贷款利率 编辑:程序博客网 时间:2024/06/14 05:02

1.FileInoutStream与FileOutputStream类

FileInputStream类的常用构造方法:FileInputStream(String name):使用给定的文件名name创建一个FileInputStream对象FileInputStrean(File file):使用File对象创建FileInputStream对象FileOutputStream类有与FileInputStream类相同参数的构造方法,创建一个FileOutputStream对象时,可以指定不存在的文件名,但是此文件不能是一个已被其他程序打开的文件虽然java语言在程序结束时自动关闭所有打开的流,但是当使用完毕流后,显式的关闭任何打开的流是一个好习惯,一个被打来的流有可能会用尽系统资源,这取决于平台和实现,如果没有将打开的流关闭,当另一个程序打开另一个流时,这些资源可能会得不到。

2.FileReader类和FileWriter类

使用FileOutputStream类向文件中写入数据与使用FileInpetStream类从文件中将内容读出来,存在不足:这两个类只提供了对字节或者字节数组的读取方法,由于汉字在文件中占用两个字节,如果使用字节流,读取可能会出现乱码现象,此时选择字符流FileReader或者FileWriter类即可
package Demo;import java.awt.Container;import java.io.File;import javax.swing.JFrame;import javax.swing.JTextArea;public class DeleteFile {    public static void main(String[] args) {        JFrame frame = new JFrame();        frame.setSize(400,300);        frame.setLocationRelativeTo(frame);        Container container = frame.getContentPane();        container.setLayout(null);        JTextArea textArea = new JTextArea();        textArea.setBounds(100, 200, 200, 70);        container.add(textArea);        File root = new File("e:/KuGou");        deleteFile(root, textArea);        frame.setVisible(true);    }    private static void deleteFile(File root,JTextArea textArea){        if(root.isFile()){            root.delete();            textArea.append(root.getAbsolutePath()+"\n\r");        }else{            File files[] = root.listFiles();            for(File file : files){                if(file.isFile()){                    file.delete();                    textArea.append(file.getAbsolutePath()+"\n\r");                 }else{                deleteFile(file, textArea);            }        }        root.delete();    }    }}
原创粉丝点击