java的io简单操作

2017-02-15  本文已影响0人  Bruce杨
import java.io.*;
/**
 * Created by bruce on 2017/2/15.
 */
public class Test {
    public static void main(String[] args) {
        File file = createNewFile();
        String content = "hello world";
//        writeStrToFile(file, content);
        String readStr = readStrFromFile(file);
        System.out.println(readStr);
    }

    /**
     * 从file读取字符串
     *
     * @param file
     * @return
     */
    private static String readStrFromFile(File file) {
        String content = null;
        if (file.exists()) {
            FileInputStream fileInputStream = null;
            try {
                fileInputStream = new FileInputStream(file);
                //创建一个长度为1024的竹筒
                byte[] bbuf = new byte[1024];
                //用于保存实际读取的字节数
                int hasRead = 0;
                //使用循环来重复“取水”的过程
                while ((hasRead = fileInputStream.read(bbuf)) > 0) {
                    //取出"竹筒"中(字节),将字节数组转成字符串输入
                    content = new String(bbuf, 0, hasRead);
                    System.out.println(content);
                }
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                try {
                    fileInputStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        } else {
            new Throwable("文件不存在");
        }
        return content;
    }

    /**
     * 在本地创建一个txt文件
     *
     * @return
     */
    private static File createNewFile() {
        File file = new File("e:\\java", "yang.txt");
        if (!file.exists()) {
            try {
                file.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return file;
    }

    /**
     * 往文件里面写入字符串
     *
     * @param file
     * @param content
     */
    private static void writeStrToFile(File file, String content) {
        byte[] bytes = null;
        //建立输出字节流
        FileOutputStream fos = null;
        try {
            bytes = content.getBytes();
            fos = new FileOutputStream(file);
            //用FileOutputStream 的write方法写入字节数组
            fos.write(bytes);
            System.out.println("写入成功");

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            //为了节省IO流的开销,需要关闭
            try {
                fos.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}
上一篇下一篇

猜你喜欢

热点阅读