你的位置:首页 > 软件开发 > Java > [测试]java IO写入文件效率——几种方法比较

[测试]java IO写入文件效率——几种方法比较

发布时间:2015-10-15 17:00:19
各类写入方法/** *1 按字节写入 FileOutputStream * * @param count 写入循环次数 * @param str 写入字符串 */public void outputStreamTest(int count, String str) { File ...

各类写入方法

/** *1 按字节写入 FileOutputStream * * @param count 写入循环次数 * @param str 写入字符串 */public void outputStreamTest(int count, String str) {  File f = new File("f:test1.txt");  OutputStream os = null;  try {    os = new FileOutputStream(f);    for (int i = 0; i < count; i++) {      os.write(str.getBytes());    }    os.flush();    System.out.println("file's long:" + f.length());  } catch (FileNotFoundException e) {    e.printStackTrace();  } catch (IOException e) {    e.printStackTrace();  } finally {    try {      os.close();    } catch (IOException e) {      e.printStackTrace();    }  }}/** *2 按字节缓冲写入 BufferedOutputStream * * @param count 写入循环次数 * @param str 写入字符串 */public void bufferedOutputTest(int count, String str) {  File f = new File("f:test2.txt");  BufferedOutputStream bos = null;  try {    OutputStream os = new FileOutputStream(f);    bos = new BufferedOutputStream(os);    for (int i = 0; i < count; i++) {      bos.write(str.getBytes());    }    bos.flush();  } catch (FileNotFoundException e) {    e.printStackTrace();  } catch (IOException e) {    e.printStackTrace();  } finally {    try {      bos.close();    } catch (IOException e) {      e.printStackTrace();    }  }} /** *3 按字符写入 FileWriter * * @param count 写入循环次数 * @param str 写入字符串 */public void fileWriteTest(int count, String str) {  File f = new File("f:test.txt");  Writer writer = null;  try {    writer = new FileWriter(f);    for (int i = 0; i < count; i++) {      writer.write(str);    }    writer.flush();  } catch (IOException e) {    e.printStackTrace();  } finally {    try {      writer.close();    } catch (Exception e) {      e.printStackTrace();    }  }}/** *4 按字符缓冲写入 BufferedWriter * * @param count 写入循环次数 * @param str 写入字符串 */public void bufferedWriteTest(int count, String str) {  File f = new File("f:test3.txt");  OutputStreamWriter writer = null;  BufferedWriter bw = null;  try {    OutputStream os = new FileOutputStream(f);    writer = new OutputStreamWriter(os);    bw = new BufferedWriter(writer);    for (int i = 0; i < count; i++) {      bw.write(str);    }    bw.flush();    if(f.exists()){      f.delete();    }  } catch (FileNotFoundException e) {    e.printStackTrace();  } catch (IOException e) {    e.printStackTrace();  } finally {    try {      bw.close();    } catch (IOException e) {      e.printStackTrace();    }  }} /** *5 按字符缓冲写入 BufferedWriter and BufferedOutputStream * * @param count 写入循环次数 * @param str 写入字符串 */public void bufferedWriteAndBufferedOutputStreamTest(int count, String str) {  File f = new File("f:test4.txt");  BufferedOutputStream bos=null;  OutputStreamWriter writer = null;  BufferedWriter bw = null;  try {    OutputStream os = new FileOutputStream(f);    bos=new BufferedOutputStream(os);    writer = new OutputStreamWriter(bos);    bw = new BufferedWriter(writer);    for (int i = 0; i < count; i++) {      bw.write(str);    }    bw.flush();    if(f.exists()){      f.delete();      System.out.println("delete---");    }  } catch (FileNotFoundException e) {    e.printStackTrace();  } catch (IOException e) {    e.printStackTrace();  } finally {    try {      bw.close();    } catch (IOException e) {      e.printStackTrace();    }  }}/** *6 按字符缓冲写入 BufferedWriter and FileWriter * * @param count 写入循环次数 * @param str 写入字符串 */public void bufferedWriteAndFileWriterTest(int count, String str) {  File f = new File("f:test5.txt");  FileWriter fw=null;  BufferedWriter bw = null;  try {    fw=new FileWriter(f);     bw = new BufferedWriter(fw);    for (int i = 0; i < count; i++) {      bw.write(str);    }    bw.flush();  } catch (FileNotFoundException e) {    e.printStackTrace();  } catch (IOException e) {    e.printStackTrace();  } finally {    try {      bw.close();      if(f.exists()){        f.delete();      }    } catch (IOException e) {      e.printStackTrace();    }  }}

原标题:[测试]java IO写入文件效率——几种方法比较

关键词:JAVA

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。