import java.io.File; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.Writer; import java.net.MalformedURLException; import java.net.URL; import java.util.List; import org.apache.commons.io.FileSystemUtils; import org.apache.commons.io.FileUtils; import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.io.LineIterator; public class TestIoDemo { private void phasmethod(){ //拷贝文件 try { File src = new File("test.dat"); File dest = new File("test.dat.bak"); FileUtils.copyFile(src, dest); } catch(IOException ioe) { System.out.println("Problem copying file."); } //拷贝文件到指定目录 try { File src = new File("test.dat"); File dir = new File("./temp"); FileUtils.copyFileToDirectory(src, dir); } catch(IOException ioe) { System.out.println("Problem copying file to dir."); } //往文件里写一个字符串 try { String string = "Blah blah blah"; File dest = new File("test.tmp"); FileUtils.writeStringToFile(dest, string, "ISO-8859-1"); } catch( IOException ioe ) { System.out.println("Error writing out a String."); } //拷贝数据 try { Writer writer = new FileWriter("test.dat"); InputStream inputStream = TestIoDemo.class.getClass().getResourceAsStream("/io/web.xml"); IOUtils.copy(inputStream, writer); writer.close(); inputStream.close(); } catch (IOException e) { System.out.println("Error copying data"); } //拷贝数据 try { File src = new File("test.txt"); OutputStream output = new FileOutputStream(src); InputStream inputStream = TestIoDemo.class.getClass().getResourceAsStream("/io/web.xml"); IOUtils.copy(inputStream, output); // writer.close(); inputStream.close(); output.close(); } catch (IOException e) { System.out.println("Error copying data"); } //把Collection或List中的数据按格式写入OutputStream输出流中 try{ File src = new File("test.txt"); OutputStream output = new FileOutputStream(src); List targetList = new ArrayList(); targetList.add("111"); targetList.add("中文"); targetList.add("~!@#$%^&*(){}<>?\/"); IOUtils.writeLines(targetList, IOUtils.LINE_SEPARATOR, output, "GB18030"); } catch (IOException e) { System.out.println("Error copying data"); } //把一个文件中的部分内容修改后存入另一个文件中 try{ OutputStream output = null; InputStream inputStream = null; File targetfile = new File("目标文件.txt"); output = new FileOutputStream(targetfile); //创建一个新的空文件 inputStream = new FileInputStream("源文件.txt"); //读源文件 List srcfilelines = FileUtils.readLines(new File(源文件.txt), "GB18030"); List targetList = new ArrayList(); for(Object linestr : srcfilelines){ if(linestr.toString().length() > 7){ if("password".equals(linestr.toString().substring(0, 8))){ System.out.println(linestr.toString().substring(9).trim()); targetList.add("password=" + ConvertCode.getBase64Pwd(linestr.toString().substring(9).trim())); }else{ targetList.add(linestr.toString()); } }else{ targetList.add(linestr.toString()); } } IOUtils.writeLines(targetList, IOUtils.LINE_SEPARATOR, output, "GB18030"); IOUtils.closeQuietly(outputStream); IOUtils.closeQuietly(inputStream); outputStream.flush(); //及时刷新文件流 inputStream.close(); output.close(); } catch (IOException e) { System.out.println("Error copying data"); } finally { //关闭流 if (inputStream != null) { try { IOUtils.closeQuietly(inputStream); inputStream.close(); } catch (IOException exf) { inputStream = null; exf.printStackTrace(); } } if (output != null) { try { IOUtils.closeQuietly(outputStream); outputStream.flush(); //及时刷新文件流 output.close(); } catch (IOException exf) { output = null; exf.printStackTrace(); } } } //对一个文件中的部分内容进行修改后保存 try{ InputStream inputStream = null; OutputStream outputStream = null; inputStream = new FileInputStream("C:\myshihuan.txt"); List filelines = FileUtils.readLines(new File("C:\myshihuan.txt"), "UTF-8"); List list = new ArrayList(); for(Object linestr : filelines){ if(linestr.toString().equal("shihuan")){ list.add("xiugaidata"); }else{ list.add(linestr.toString()); } } File file = new File("C:\myshihuan.txt"); outputStream = new FileOutputStream(file); IOUtils.writeLines(list, IOUtils.LINE_SEPARATOR, outputStream, "UTF-8"); IOUtils.closeQuietly(outputStream); IOUtils.closeQuietly(inputStream); outputStream.flush(); //及时刷新文件流 outputStream.close(); inputStream.close(); }catch(IOException ex){ logger.error(ex.getMessage()); ex.printStackTrace(); }finally { //关闭流 if (inputStream != null) { try { IOUtils.closeQuietly(inputStream); inputStream.close(); } catch (IOException exf) { inputStream = null; logger.error(exf.getMessage()); exf.printStackTrace(); } } if (outputStream != null) { try { IOUtils.closeQuietly(outputStream); outputStream.flush(); //及时刷新文件流 outputStream.close(); } catch (IOException exf) { outputStream = null; logger.error(exf.getMessage()); exf.printStackTrace(); } } } } public void printFileXg(){ String filepn = "D:\shihuan\myboby\mydaling.txt"; //mydaling System.out.println(FilenameUtils.getBaseName(filepn)); //shihuan\myboby\ System.out.println(FilenameUtils.getPath(filepn)); //D:\ System.out.println(FilenameUtils.getPrefix(filepn)); //shihuan\myboby System.out.println(FilenameUtils.getPathNoEndSeparator(filepn)); //D:\shihuan\myboby System.out.println(FilenameUtils.getFullPathNoEndSeparator(filepn)); //D:\shihuan\myboby\ System.out.println(FilenameUtils.getFullPath(filepn)); //txt System.out.println(FilenameUtils.getExtension(filepn)); String filecurdir = filepn.substring(0, filepn.lastIndexOf(SystemUtils.FILE_SEPARATOR)); //上传文件路径 String filename = filepn.split(SystemUtils.FILE_SEPARATOR + SystemUtils.FILE_SEPARATOR)[filepn.split(SystemUtils.FILE_SEPARATOR + SystemUtils.FILE_SEPARATOR).length-1]; //上传文件名字 String filenameprefix = filename.substring(0, filename.lastIndexOf(".")); //文件名前缀 String filenamesuffix = filename.substring(filename.lastIndexOf("."), filename.length()); //文件名后缀 } /** * @param args */ public static void main(String[] args) { //直接将IO流转成字符串 InputStream in = null; try { in = new URL( "http://jakarta.apache.org" ).openStream(); try { System.out.println(IOUtils.toString(in)); } finally { IOUtils.closeQuietly(in); } //读取文本文件的所有行 File file = new File("/commons/io/project.properties"); List lines = FileUtils.readLines(file, "UTF-8"); //路径处理 String filename = "C:/commons/io/../lang/project.xml"; String normalized = FilenameUtils.normalize(filename); // result is "C:/commons/lang/project.xml" //获取目录空间 long freeSpace = FileSystemUtils.freeSpace("C:/"); //打印文件的所有行 LineIterator it = FileUtils.lineIterator(file, "UTF-8"); try { while (it.hasNext()) { String line = it.nextLine(); /// do something with line } } finally { LineIterator.closeQuietly(it); } //文件删除 File file1 = new File(("io/project.properties")); String display = FileUtils.byteCountToDisplaySize(file1.length()); System.out.println("project.xml is " + display); FileUtils.forceDelete(file1); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
commons-io2的一些应用
猜你喜欢
转载自shihuan830619.iteye.com/blog/1159939
今日推荐
周排行