common-io基本操作

来源:互联网 发布:java的socket聊天室 编辑:程序博客网 时间:2024/05/17 22:19


import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.util.Properties;
import java.util.Set;


import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.junit.Test;


public class FileDemo2 {
public static void main(String[] args) {
// 1.File,
// 字符流: FileReader,FileWriter,
// 字节流: InputStream,OutputSream
// 转换流程: InputSreamReader,OutputSreamWriter
// 缓冲流程: BufferedReader,BufferedWriter
// 对象,打印流,标准输入、输出流


// File(File parent, String child)
// File(String pathname) :pathname:文件路径
// File(String parent, String child)
// fileWriter1();


// bufferReaderAndWriter();


// getFileProperties();


try {
// String src = "H://TDDOWNLOAD//book";
// 拷贝目录
// FileUtils.copyDirectory(new File(src), new File("E://cc"));
//
// //获取指定目录下的文件
// File f = FileUtils.getFile(new File(src),"14472.txt");
// System.out.println(f);
//
// //获取临时目录
// String path = FileUtils.getTempDirectoryPath();
// System.out.println(path);
// File path2 = FileUtils.getTempDirectory();
// System.out.println(path2);
//
// //获取当前用户使用目录
// String userPath = FileUtils.getUserDirectoryPath();
// System.out.println(userPath);
//
// //创建一个inputstream字节流
// File filepath = new File(src+"/14472.txt");
// FileInputStream inputStream = FileUtils.openInputStream(new
// File(src+"/14472.txt"));
// System.out.println(inputStream);
//
// //创建一个字节输出流
// FileOutputStream outputStream =
// FileUtils.openOutputStream(filepath);
// System.out.println(outputStream);
//
// //创建一个字节输出流,并判断父目录是否存在,如果不存在,则创建
// File filepath2 = new File("E:/aa/bb/vv/14472.txt");
// FileOutputStream outputStream2 =
// FileUtils.openOutputStream(filepath2,true);
// System.out.println(outputStream2);
//
//
// String size = FileUtils.byteCountToDisplaySize(2);
// System.out.println(size);
//
// //创建一个文件,判断文件是否存在,如果文件存在,则修改文件时间。不存在,则创建一个新文件。
// FileUtils.touch(filepath2);


// 将源目录下的文件及目录拷贝到目标目录下
// FileUtils.copyDirectory(new File("E:/aa"),new File("E:/cc"));


// 将源目录拷贝到目标目录下
// FileUtils.copyDirectoryToDirectory(new File("E:/aa"),new
// File("E:/cc"));


// 将源文件内容拷贝到目标文件中,并且会覆盖目标文件内容
// FileUtils.copyFile(new File("E:/aa/bb/vv/14472.txt"),new
// File("E:/cc/123.txt"));


// 将源文件拷贝到目标目录中,如果目标目录不存在,则创建
// FileUtils.copyFileToDirectory(new File("E:/aa/bb/vv/14472.txt"),
// new File("E:/cc/cc"));


// 向指定文件中写入内容
// FileUtils.write(new File("E:/aa/bb/vv/14472.txt"),
// "sdfsdfsfsdgdfgdf");
// 向指定文件中写入内容,如果为ture,则追加到指定文件中
// FileUtils.write(new File("E:/aa/bb/vv/14472.txt"),
// "111111111111111111", false);


String src = "E:/aa/bb/vv/14472.txt";
// 关闭字符流
// IOUtils.closeQuietly(new FileReader(src));
// IOUtils.closeQuietly(new FileWriter(src));


// 关闭字节流
// IOUtils.closeQuietly(new FileInputStream(new File(src)));
// IOUtils.closeQuietly(new FileOutputStream(new File(src)));


// 创建缓冲流程
// BufferedReader br = IOUtils.buffer(new FileReader(src));
// BufferedWriter bw = IOUtils.buffer(new FileWriter(src));


// 创建一个inputstream字节流
FileInputStream input1 = FileUtils.openInputStream(new File(src));
// FileInputStream input2 = FileUtils.openInputStream(new
// File(src));


// 比较两个字节输入流中的内容是否相同
// boolean flag = IOUtils.contentEquals(input1, input2);
// System.out.println(flag);


FileOutputStream outputStream = FileUtils.openOutputStream(new File("E:/cc/cc/34.txt"));
// 拷贝流,将输入流中的内容拷贝到输出流
// int copy = IOUtils.copy(input1, outputStream);
// System.out.println(copy);


// 拷贝数据到字节输出流
IOUtils.write("222222222222", outputStream);


} catch (Exception e) {
e.printStackTrace();
}


}


private static void getFileProperties() {
try {
FileReader fr = new FileReader("jdbc.properties");
Properties p = new Properties();
p.load(fr);
String driver = p.getProperty("driver");
System.out.println("---->>" + driver);


Set keySet = p.keySet();
for (Object object : keySet) {
System.out.println(object + "------" + p.get(object));
}
} catch (Exception e) {
e.printStackTrace();
}
}


private static void bufferReaderAndWriter() {
BufferedReader buf = null;
BufferedWriter buw = null;
try {
buf = new BufferedReader(new InputStreamReader(new FileInputStream("E:\\aa.txt")));
buw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("E:\\c.txt")));
String st;
while ((st = buf.readLine()) != null) {
buw.write(st);
buw.newLine();
buw.flush();
}
buf.close();
buw.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (buf != null) {
buf.close();
}
if (buw != null) {
buw.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}


private static void inOutFile() {
try {
InputStream in = new FileInputStream("E:\\aa.txt");
OutputStream out = new FileOutputStream("E:\\b.txt");
byte[] by = new byte[1024];
int len;
while ((len = in.read(by)) != -1) {
out.write(by, 0, len);
}
in.close();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}


@Test
public void bufferReaderAndWriter2() {
try {
BufferedReader buf = new BufferedReader(new InputStreamReader(new FileInputStream("E:\\aa.txt")));
BufferedWriter buw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("E:\\d.txt")));
IOUtils.copy(buf, buw);
IOUtils.closeQuietly(buf);
IOUtils.closeQuietly(buw);
} catch (Exception e) {
e.printStackTrace();
}
}


@Test
public void inOutFile2() {
try {
BufferedReader buffer = IOUtils.buffer(new FileReader("E:\\aa.txt"));
BufferedWriter buffer2 = IOUtils.buffer(new FileWriter("E:\\b.txt"));
IOUtils.copy(buffer, buffer2);
IOUtils.closeQuietly(buffer);
IOUtils.closeQuietly(buffer2);
} catch (Exception e) {
e.printStackTrace();
}
}


private static void fileWriter1() {


try {
File file = new File("F:\\a.txt");
if (!file.exists()) {
file.createNewFile();
}
// 字符流
FileReader fr = new FileReader(file);
FileWriter fw = new FileWriter(new File("F:\\b.txt"));
System.out.println(fr.getEncoding());
System.out.println(fw.getEncoding());
int len;
char[] ch = new char[1024];
while ((len = fr.read(ch)) != -1) {
fw.write(ch, 0, len);
fw.flush();
}
fr.close();
fw.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}